Search Results

Search found 5015 results on 201 pages for 'compiler construction'.

Page 131/201 | < Previous Page | 127 128 129 130 131 132 133 134 135 136 137 138  | Next Page >

  • How to make safe cast using generics in C#?

    - by TN
    I want to implement a generic method on a generic class which would allow to cast safely, see example: public class Foo<T> : IEnumerable<T> { ... public IEnumerable<R> SafeCast<R>() where T : R { return this.Select(item => (R)item); } } However, the compiler tells me that Foo<T>.SafeCast<R>() does not define parameter 'T'. I understand this message that I cannot specify a constraint on T in the method since it is not defined in the method. But how can I specify an inverse constraint?

    Read the article

  • When using the getInstance() method of the abstract java.text.NumberFormat class, what is the actual

    - by iamchuckb
    This question expands upon the one at abstract-class-numberformat-very-confused-about-getinstance. I feel that this question is different enough to merit being asked on its own. In the answers to that question, it was stated that a code statement such as NumberFormat en = NumberFormat.getInstance(Locale.US); returns an object that is a subclass of the java.text.NumberFormat class. It makes sense to me why the return type can't be just an instance of NumberFormat since that is an abstract class. Rather, it was stated that the returned object is at least an instance of NumberFormat, but actually something else. My question is this: what specifically is the class of the object that is returned? In the Sun documentation the only subclasses I see are ChoicesFormat and DecimalFormat. Is there some sort of behind the scenes compiler voodoo going on here? Thanks in advance!

    Read the article

  • Are we asking too much of transactional memory?

    - by Carl Seleborg
    I've been reading up a lot about transactional memory lately. There is a bit of hype around TM, so a lot of people are enthusiastic about it, and it does provide solutions for painful problems with locking, but you regularly also see complaints: You can't do I/O You have to write your atomic sections so they can run several times (be careful with your local variables!) Software transactional memory offers poor performance [Insert your pet peeve here] I understand these concerns: more often than not, you find articles about STMs that only run on some particular hardware that supports some really nifty atomic operation (like LL/SC), or it has to be supported by some imaginary compiler, or it requires that all accesses to memory be transactional, it introduces type constraints monad-style, etc. And above all: these are real problems. This has lead me to ask myself: what speaks against local use of transactional memory as a replacement for locks? Would this already bring enough value, or must transactional memory be used all over the place if used at all?

    Read the article

  • C2244 when trying to call the pow function from inline assembly

    - by schrödingers cat
    I would like to call the pow function from inline assembly. The problem is i'm getting error C2244: 'pow' : unable to match function definition to an existing declaration. I'm new to assembly so this may be a trivial question but how do i resolve this? I guess it has something to do with the compiler not beeing able to properly resolve the overload of pow. The following code fragment is causing the error: do_POW: // push first argument to the stack sub esp, size value_type fld qword ptr [ecx] fstp qword ptr [esp] // push second argument to the stack sub esp, size value_type fld qword ptr [ecx - size value_type] fstp qword ptr [esp]and pop fpu stack // call the pow function call pow sub ecx, size value_type fstp qword ptr [ecx] add esp, 2 * size value_type jmp loop_start

    Read the article

  • "Inherited" types using CRTP and typedef

    - by Ken Moynihan
    The following code does not compile. I get an error message: error C2039: 'Asub' : is not a member of 'C' Can someone help me to understand this? Tried VS2008 & 2010 compiler. template <class T> class B { typedef int Asub; public: void DoSomething(typename T::Asub it) { } }; class C : public B<C> { public: typedef int Asub; }; class A { public: typedef int Asub; }; int _tmain(int argc, _TCHAR* argv[]) { C theThing; theThing.DoSomething(C::Asub()); return 0; }

    Read the article

  • GCC ICE -- alternative function syntax, variadic templates and tuples

    - by Marc H.
    (Related to C++0x, How do I expand a tuple into variadic template function arguments?.) The following code (see below) is taken from this discussion. The objective is to apply a function to a tuple. I simplified the template parameters and modified the code to allow for a return value of generic type. While the original code compiles fine, when I try to compile the modified code with GCC 4.4.3, g++ -std=c++0x main.cc -o main GCC reports an internal compiler error (ICE) with the following message: main.cc: In function ‘int main()’: main.cc:53: internal compiler error: in tsubst_copy, at cp/pt.c:10077 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions. Question: Is the code correct? or is the ICE triggered by illegal code? // file: main.cc #include <tuple> // Recursive case template<unsigned int N> struct Apply_aux { template<typename F, typename T, typename... X> static auto apply(F f, const T& t, X... x) -> decltype(Apply_aux<N-1>::apply(f, t, std::get<N-1>(t), x...)) { return Apply_aux<N-1>::apply(f, t, std::get<N-1>(t), x...); } }; // Terminal case template<> struct Apply_aux<0> { template<typename F, typename T, typename... X> static auto apply(F f, const T&, X... x) -> decltype(f(x...)) { return f(x...); } }; // Actual apply function template<typename F, typename T> auto apply(F f, const T& t) -> decltype(Apply_aux<std::tuple_size<T>::value>::apply(f, t)) { return Apply_aux<std::tuple_size<T>::value>::apply(f, t); } // Testing #include <string> #include <iostream> int f(int p1, double p2, std::string p3) { std::cout << "int=" << p1 << ", double=" << p2 << ", string=" << p3 << std::endl; return 1; } int g(int p1, std::string p2) { std::cout << "int=" << p1 << ", string=" << p2 << std::endl; return 2; } int main() { std::tuple<int, double, char const*> tup(1, 2.0, "xxx"); std::cout << apply(f, tup) << std::endl; std::cout << apply(g, std::make_tuple(4, "yyy")) << std::endl; } Remark: If I hardcode the return type in the recursive case (see code), then everything is fine. That is, substituting this snippet for the recursive case does not trigger the ICE: // Recursive case (hardcoded return type) template<unsigned int N> struct Apply_aux { template<typename F, typename T, typename... X> static int apply(F f, const T& t, X... x) { return Apply_aux<N-1>::apply(f, t, std::get<N-1>(t), x...); } }; Alas, this is an incomplete solution to the original problem.

    Read the article

  • Template class giving linker error ...

    - by Atul
    Hi, I am having a template class which is exposed, in which I added a method. This class is in namespace A. Now, I am calling this method in another namespace (say B). Initially, compiler gave me linker error saying "unresolved external symbol" for this particular method. However, if I call this method inside the same namespace (that is A), it links well. After that, it links well in namespace B as well. Why could this be happening ? Does this has something to do with the creating Template object of my class ? Atul

    Read the article

  • FxCop giving a warning on private constructor CA1823 and CA1053

    - by Luis Sánchez
    I have a class that looks like the following: Public Class Utilities Public Shared Function blah(userCode As String) As String 'doing some stuff End Function End Class I'm running FxCop 10 on it and it says: "Because type 'Utilities' contains only 'static' ( 'Shared' in Visual Basic) members, add a default private constructor to prevent the compiler from adding a default public constructor." Ok, you're right Mr. FxCop, I'll add a private constructor: Private Utilities() Now I'm having: "It appears that field 'Utilities.Utilities' is never used or is only ever assigned to. Use this field or remove it." Any ideas of what should I do to get rid of both warnings?

    Read the article

  • Best design for generating code from an AST?

    - by Sam Washburn
    I'm working on a pretty complex DSL that I want to compile down into a few high level languages. The whole process has been a learning experience. The compiler is written in java. I was wondering if anyone knew a best practice for the design of the code generator portion. I currently have everything parsed into an abstract syntax tree. I was thinking of using a template system, but I haven't researched that direction too far yet as I would like to hear some wisdom first from stack overflow. Thanks!

    Read the article

  • msvcrt: memory usage goes wild, but not under debugger

    - by al_miro
    I have a C++ code compiled with Intel compiler, 32bit, in MS VC6 mode, so using either msvcrt.dll or msvcrtd.dll. The process makes heavy memory allocation and deallocation. I monitor the memory usage with WMI and look at VirtualSize and WorkingSetSize. with debug runtime (msvcrtd.dll): virtual constant 1.7GB, working constant 1.2GB with non-debug runtime (msvcrt.dll): virtual raising 1.7-- 2.1GB, working raising 1.2-1.4GB with non-debug runtime but under debugger (windbg): virtual constant 1.7GB, working constant At 2.1 GB virtual the process is crashing (as expected). But why would the virtual usage increase only with (non-debug) msvcrt.dll and only if not under debugger? In all cases compilation flags are identical, only runtime libs are different.

    Read the article

  • C1083 : Permission denied on .sbr files

    - by speps
    Hello, I am using Visual Studio 2005 (with SP1) and I am getting weird errors concerning .sbr files. These files, as I read on MSDN, are intermediate files for BSCMAKE to generate a .bsc file. The errors I get are, for example (on different builds) : 11string.cpp : fatal error C1083: Impossible d'ouvrir le fichier généré(e) par le compilateur : '.\debug\String.sbr' : Permission denied 58type.cpp : fatal error C1083: Impossible d'ouvrir le fichier généré(e) par le compilateur : '.\Debug/Type.sbr' : Permission denied Translation : cannot open compiler intermediate file It seems to be consistent (I have at least 5 or 6 examples like this) with a .cpp file being compiled twice in the same project, respectively : 11String.cpp *some warnings, 2 lines* 11String.cpp 58Type.cpp *some warnings and other files compiled, a lot of lines* 58Type.cpp I already checked the .vcproj files for duplicate entries and it does not seem to be the problem. I would appreciate any help regarding this issue. Deactivating the build of .bsc files seems to be a workaround but maybe someone has better information than this. Thanks.

    Read the article

  • Debugging a release version of a DLL (with PDB file)

    - by Martin
    If I have a DLL (that was built in release-mode) and the corresponding PDB file, is it possible to debug (step-into) classes/methods contained in that DLL? If so, what are the required steps/configuration (e.g. where to put the PDB file)? Edit: If have the PDB file in the same place as the DLL (in the bin/debug directory of a simple console test application). I can see that the symbols for the DLL are loaded (in the Output window and also in the Modules window), but still I cannot step into the methods of that DLL. Could this be the result of compiler optimizations (as described by Michael in his answer)?

    Read the article

  • Using typedefs from a template class in a template (non-member) function

    - by atomicpirate
    The following fails to compile (with gcc 4.2.1 on Linux, anyway): template< typename T > class Foo { public: typedef int FooType; }; void ordinary() { Foo< int >::FooType bar = 0; } template< typename T > void templated() { Foo< T >::FooType bar = T( 0 ); } int main( int argc, char **argv ) { return 0; } The problem is with this line: Foo< T >::FooType bar = 0; ...and the compiler makes this complaint: foo.c: In function ‘void templated()’: foo.c:22: error: expected `;' before ‘bar’ Normally one sees this when a type hasn't been declared, but as far as I can tell, Foo< T ::FooType should be perfectly valid inside templated().

    Read the article

  • "Cannot convert to IComparer"

    - by Odrade
    I have the following IComparer defined for boxed RegistryItem objects: public class BoxedRegistryItemComparer : IComparer<object> { public int Compare(object left, object right) { RegistryItem leftReg = (RegistryItem)left; RegistryItem rightReg = (RegistryItem)right; return string.Compare(leftReg.Name, rightReg.Name); } } I want to use this to sort an ArrayList of boxed RegistryItems (It really should be a List<RegistryItem, but that's out of my control). ArrayList regItems = new ArrayList(); // fill up the list ... BoxedRegistryItemComparer comparer = new BoxedRegistryItemComparer(); ArrayList.sort(comparer); However, the last line gives the compiler error: "Cannot convert from BoxedRegistryItemComparer to System.Collections.IComparer". I would appreciate it if someone could point out my mistake.

    Read the article

  • Documentation concerning platform-specific macros in Linux/POSIX

    - by Nubok
    When compiling a C/C++ program under Windows using Visual Studio (or a compiler that tries to be compatible) there is a predefined macro _WIN32 (Source: http://msdn.microsoft.com/en-us/library/b0084kay.aspx) that you can use for platform-specific #ifdef-s. What I am looking for is an analogon under Linux: a macro which tells me that I am compiling for Linux/an OS that claims to be (more or less) POSIX-compatible. So I looked into gcc documentation and found this: http://gcc.gnu.org/onlinedocs/cpp/System_002dspecific-Predefined-Macros.html Applied to my program, the following macros (gcc 4.4.5 - Ubuntu 10.10) looked promising (I hope that I didn't drop an important macro): #define __USE_BSD 1 #define __unix__ 1 #define __linux 1 #define __unix 1 #define __linux__ 1 #define _POSIX_SOURCE 1 #define __STDC_HOSTED__ 1 #define __STDC_IEC_559__ 1 #define __gnu_linux__ 1 #define __USE_SVID 1 #define __USE_XOPEN2K 1 #define __USE_POSIX199506 1 #define _G_USING_THUNKS 1 #define __USE_XOPEN2K8 1 #define _BSD_SOURCE 1 #define unix 1 #define linux 1 #define __USE_POSIX 1 #define __USE_POSIX199309 1 #define __SSP__ 1 #define _SVID_SOURCE 1 #define _G_HAVE_SYS_CDEFS 1 #define __USE_POSIX_IMPLICITLY 1 Where do I find a detailed documentation of them - as to the mentioned Windows-specific macros above? Additionally I'd be interested in macros normally defined for other POSIX-compliant operating systems as *BSD etc.

    Read the article

  • Why do my MIPS crosscompiler works like this for NOT operation?

    - by Mazicky
    Hello, I setup my crosscompiler for making MIPS instructions. And it compiles C code well. but I found a weird thing for NOT operations. if i make code like int a; func(!a); and i studied MIPS instructions with text book that says "MIPS converts NOT operation to 'nor with zero'" So i thought it would converted like nor a a $zero but my compiler converts xori a a 0x0 sltu a 1 /////////////////////////////////////// i compiled the code with 'myaccount mipsel-unknown-linux-gnu-gcc -S myfilename.c' and it makes myfilename.s file.. what am i missing??

    Read the article

  • Should boost library be dependent on structure member alignments?

    - by Sorin Sbarnea
    I found, the hard way, that at least boost::program_options is dependent of the compiler configured structure member alignment. If you build boost using default settings and link it with a project using 4 bytes alignment (/Zp4) it will fail at runtime (made a minimal test with program_options). Boost will generate an assert indicating a possible bad calling convention but the real reason is the structure member alignment. Is there any way to prevent this? If the alignment makes the code incompatible shouldn't this be included in library naming?

    Read the article

  • Error when using --static option with macrubyc

    - by Jakub Hampl
    I want to create a binary executable for a relatively simple script that would not require people to install macruby or HotCocoa. The script is here. I've understood that I want to use the --static option for the compiler and I'm using the following command: macrubyc -o postprocessor --static postprocessor.rb I get the following error: ld: library not found for -lLLVMBitWriter collect2: ld returned 1 exit status Error when executing `/usr/bin/g++ -o "postprocessor" -arch x86_64 -L/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib -lmacruby-static -L/usr/local/lib -lpthread -lffi -lm -lLLVMBitWriter -lLLVMX86CodeGen -lLLVMX86Info -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMJIT -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMScalarOpts -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMCore -lLLVMSupport -lLLVMSystem -lpthread -ldl -lxml2 -lobjc -lauto -licucore -framework Foundation "/var/folders/wU/wUGgoG1JGeKBgwalWLPMAU+++TI/-Tmp-/main-72203.o" "./postprocessor.o"' What should I do to get this running?

    Read the article

  • Target .NET 3.5 C++/CLI in Visual Studio 2010 Beta 2

    - by jeffora
    Has anyone had any success converting a VS 2008 C++/CLI (vcproj) project to a VS 2010 project (vcxproj), whilst maintaining .NET 3.5 as the target framework? I haven't been able to do this and get the project to build successfully. The project compiles fine in VS2008 as .NET 3.5, and fine in VS2010 as .NET 4.0, but I am unable to target .NET 3.5 in 2010. The IDE doesn't seem to provide an option for it, and modifying the vcxproj file by adding <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> causes compilation to fail with the folling error: Error 1 error C1001: An internal error has occurred in the compiler. According to this link, there is apparently some differences in compilers used between VS2008 and 2010, but manually editing the project file was still suggested as a solution. Does anyone have any idea on this?

    Read the article

  • error C2440: '=' : cannot convert from 'std::string []' to 'std::string []'

    - by Bach
    now what is wrong with this code! Header: #pragma once #include <string> using namespace std; class Menu { public: Menu(string []); ~Menu(void); }; Implementation: #include "Menu.h" string _choices[]; Menu::Menu(string items[]) { _choices = items; } Menu::~Menu(void) { } compiler is complaining: error C2440: '=' : cannot convert from 'std::string []' to 'std::string []' There are no conversions to array types, although there are conversions to references or pointers to arrays there is no conversion! so what is it on about? please help, just need to pass a bloody array of strings and set it to Menu class _choices[] attribute. thanks

    Read the article

  • Problems with dotLess Stopping characters and hacks list?

    - by rDeeb
    Have any one run into trouble when running dotLess and having hacks on your CSS files? Been working on a project... just installed dotLess after one year of development to ease a little bit the job of creating new CSS files for some new functionality of the web site, and recently our old CSS is not working correctly. Viewing the resulting CSS files we realized that the dotLess compiler stopeed at some hacks like this one: html>/**/body #itemTable .informationView fieldset textarea { min-height: 1.3em; height: 1.3em; } So we were wondering if there is any list of stopping words or hacks for dotLess?

    Read the article

  • Ambiguous Generic restriction T:class vs T:struct

    - by Maslow
    This code generates a compiler error that the member is already defined with the same parameter types. private T GetProperty<T>(Func<Settings, T> GetFunc) where T:class { try { return GetFunc(Properties.Settings.Default); } catch (Exception exception) { SettingReadException(this,exception); return null; } } private TNullable? GetProperty<TNullable>(Func<Settings, TNullable> GetFunc) where TNullable : struct { try { return GetFunc(Properties.Settings.Default); } catch (Exception ex) { SettingReadException(this, ex); return new Nullable<TNullable>(); } } Is there a clean work around?

    Read the article

  • How do I get the XAML comiler to use textual content property on custom classes?

    - by Duncan
    Given a simple C# class definition like: [System.Windows.Markup.ContentProperty("PropertyOne")] public class SimpleBase { public string PropertyOne { get; set; } public string PropertyTwo { get; set; } } why is it not possible to ommit the sys:string tags around the word Test in the xaml below. <custom:SimpleBase x:Class="TestType" xmlns:custom="clr-namespace:ConsoleApplication1;assembly=" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <sys:String>Test</sys:String> </custom:SimpleBase> Somehow the compiler correctly coverts text to string for the type String, why doesn't it work for my custom type? The context can be found on my blog: http://www.deconflations.com/?tag=xaml

    Read the article

  • Variable declarations following if statements

    - by Anthony Pegram
    An issue came up on another forum and I knew how to fix it, but it revealed a feature of the compiler peculiar to me. The person was getting the error "Embedded statement cannot be a declaration or labeled statement" because they had a declaration of a variable following an if statement with no brackets. That was not their intent, but they had commented out the line of code immediately following the if statement, which made the variable declaration the de facto line of code to execute. Anyway, that's the background, which brings me to this. The following code is illegal if (true) int i = 7; However, if you wrap that in brackets, it's all legal. if (true) { int i - 7; } Neither piece of code is useful. Yet the second one is OK. What specifically is the explanation for this behavior? I have a hypothesis, but I'd rather ask the brilliant people on stackoverflow.

    Read the article

  • Setting properties of auto-generated listboxitem

    - by DerKlaus
    I am trying to set the inputbindings of the auto-generated ListBoxItems of a databound ListBox. The code below does not work. The compiler complains that "The Property Setter 'InputBindings' cannot be set because it does not have an accessible set accessor." What is the correct syntax to set the InputBindings? <ListBox.ItemContainerStyle> <Style TargetType="{x:Type ListBoxItem}"> <Setter Property="ListBoxItem.InputBindings"> <Setter.Value> <MouseBinding Command="{Binding OpenCommand}" Gesture="LeftDoubleClick"/> </Setter.Value> </Setter> </Style> </ListBox.ItemContainerStyle> PS: Posting does not work with Opera 10.51

    Read the article

< Previous Page | 127 128 129 130 131 132 133 134 135 136 137 138  | Next Page >