Search Results

Search found 16218 results on 649 pages for 'compiler errors'.

Page 151/649 | < Previous Page | 147 148 149 150 151 152 153 154 155 156 157 158  | Next Page >

  • F#: Can't hide a type abbreviation in a signature? Why not?

    - by Nels Beckman
    In F#, I'd like to have what I see as a fairly standard Abstract Datatype: // in ADT.fsi module ADT type my_Type // in ADT.fs module ADT type my_Type = int In other words, code inside the module knows that my_Type is an int, but code outside does not. However, F# seems to have a restriction where type abbreviations specifically cannot be hidden by a signature. This code gives a compiler error, and the restriction is described here. If my_Type were instead a discriminated union, then there is no compiler error. My question is, why the restriction? I seem to remember being able to do this in SML and Ocaml, and furthermore, isn't this a pretty standard thing to do when creating an abstract datatype? Thanks

    Read the article

  • C++ packing a typdef enum

    - by Sagar
    typedef enum BeNeLux { BELGIUM, NETHERLANDS, LUXEMBURG } _PACKAGE_ BeNeLux; When I try to compile this with C++ Compiler, I am getting errors, but it seems to work fine with a C compiler. So here's the question. Is it possible to pack an enum in C++, or can someone see why I would get the error? The error is: "semicolon missing after declaration of BeNeLux". I know, after checking and rechecking, that there definitely is a semicolon there, and in any places required in the rest of the code.

    Read the article

  • error C2065: 'AfxBeginThread' : undeclared identifier

    - by bdhar
    I have a simple ATL Service in which I have included the following statement. AfxBeginThread(WorkerThread, this, THREAD_PRIORITY_NORMAL, 0, 0); But the compiler complains that error C2065: 'AfxBeginThread' : undeclared identifier But in MSDN i found that AfxBeginThread is found in AFXWIN.H If I include AFXWIN.H, the compiler complains that fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h> What am I missing here? Thanks. PS: I am using Visual Studio 6.0 Enterprise Edition in Windows XP SP2.

    Read the article

  • [c++] How to create a std::ofstream to a temp file?

    - by dehmann
    Okay, mkstemp is the preferred way to create a temp file in POSIX. But it opens the file and returns an int, which is a file descriptor. From that I can only create a FILE*, but not an std::ofstream, which I would prefer in C++. (Apparently, on AIX and some other systems, you can create an std::ofstream from a file descriptor, but my compiler complains when I try that.) I know I could get a temp file name with tmpnam and then open my own ofstream with it, but that's apparently unsafe due to race conditions, and results in a compiler warning (g++ v3.4. on Linux): warning: the use of `tmpnam' is dangerous, better use `mkstemp' So, is there any portable way to create an std::ofstream to a temp file?

    Read the article

  • Can you use #defined values in if statements (In C programs)?

    - by Jordan S
    I am new at C programming. I thought when you type something like #define Const 5000 that the compiler just replaces every instance of Const with 5000 at compile time. Is that wrong? I try doing this in my code and I get a syntax error. Why can't i do this? #define STEPS_PER_REV 12345 ... in some function if(CurrentPosition >= STEPS_PER_REV) { // do some stuff here } The compiler complains about the if statement with a syntax error that gives me no details.

    Read the article

  • Setup Jetty 7 with JSP engine

    - by Justin
    I've been trying to get Jetty to run my web app via a custom launcher (embedded). I am trying to figure out how to tell Jetty which java compiler to use for JSPs. I want to do what java -jar start.jar -OPTIONS=jsp does, but without using start.jar. Here is what shows on the console: Javac exception, Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK Do I need to put the javac libraries into my classpath?

    Read the article

  • C++ packing a typedef enum

    - by Sagar
    typedef enum BeNeLux { BELGIUM, NETHERLANDS, LUXEMBURG } _PACKAGE_ BeNeLux; When I try to compile this with C++ Compiler, I am getting errors, but it seems to work fine with a C compiler. So here's the question. Is it possible to pack an enum in C++, or can someone see why I would get the error? The error is: "semicolon missing after declaration of BeNeLux". I know, after checking and rechecking, that there definitely is a semicolon there, and in any places required in the rest of the code.

    Read the article

  • Inheritance and Implicit Type Casting

    - by Josué Molina
    Suppose I have the following three classes: class Animal {}; class Human : public Animal {}; class Dog : public Animal { public: void setOwner(Animal* owner) { this->owner = owner; } private: Animal* owner; }; Why is the following allowed, and what exactly is happening? Dog d; Human h; d.setOwner(&h); // ? At first, I tried to cast it like this d.setOwner(&(Animal)h), but the compiler gave me a warning, and I hit a run-time error. Edit: the warning the compiler gave me was "taking address of temporary". Why is this so?

    Read the article

  • Forward declaring an enum in c++

    - by szevvy
    Hi guys, I'm trying to do something like the following: enum E; void Foo(E e); enum E {A, B, C}; which the compiler rejects. I've had a quick look on Google and the consensus seems to be "you can't do it", but I can't understand why. Can anyone explain? Many thanks. Clarification 2: I'm doing this as I have private methods in a class that take said enum, and I do not want the enum's values exposed - so, for example, I do not want anyone to know that E is defined as enum E { FUNCTIONALITY_NORMAL, FUNCTIONALITY_RESTRICTED, FUNCTIONALITY_FOR_PROJECT_X } as project X is not something I want my users to know about. So, I wanted to forward declare the enum so I could put the private methods in the header file, declare the enum internally in the cpp, and distribute the built library file and header to people. As for the compiler - it's GCC.

    Read the article

  • Xcode 3.2 not recompiling changed files

    - by Jason
    I've been programming a new iPhone application and everything has been chugging along fine, until this afternoon when I noticed that any changes I was making were not being reflected in the actual app! Even code that throws errors isn't getting picked up by the compiler. To get around this, I have taken to the following procedure: Finish making my edits, and add code to the file which will always throw a compiler error. Right-click the file I have just edited, and hit "Compile" to just compile that one file; it will throw the error. Remove the error-producing code, and again right-click and "Compile" the one file. Build the whole project This is quite annoying, and I can't figure out why this would suddenly happen to my Xcode project. Any thoughts on what could be causing this, and how to fix it?

    Read the article

  • Problem with default member functions of class in C++ (constructor, destructor, operator=, copy cons

    - by Narek
    We know that compiler generates some member functions for user-defined class if that member functions are not defined but used, isn't it. So I have this kind of code: class AA { }; void main() { AA a; AA b(a); a = b; } This code works fine. I mean no compiler error. But the following code.... class AA { int member1; int member2; }; But this code gives an run time error, because variable "a" is used without being iniltialized!!! So my question is this: when we instantiate an int, it has a value. So why the default constructer doesn't work and by using those two int numbers initializes variable "a"??

    Read the article

  • Is 'bool' a basic datatype in C++ ?

    - by Naveen
    I got this doubt while writing some code. Is 'bool' a basic datatype defined in the C++ standard or is it some sort of extension provided by the compiler ? I got this doubt because Win32 has 'BOOL' which is nothing but a typedef of long. Also what happens if I do something like this: int i = true; Is it "always" guaranteed that variable i will have value 1 or is it again depends on the compiler I am using ? Further for some Win32 APIs which accept BOOL as the parameter what happens if I pass bool variable?

    Read the article

  • What to do when using Contract.Assert(true) and the method must return something?

    - by devoured elysium
    I have a bit of code with the following logic: //pseudo-code foreach (element in elementList) { if (element is whatever) return element; } } In theory, there is always one element that is whatever, so this method should pose no problems. In any case, I've put an assertion on the end of the method just to be sure: //pseudo-code foreach (element in elementList) { if (element is whatever) return element; } } Contract.Assert(true, "Invalid state!"); The problem is that as this method has to return something, and the compiler doesn't understand that the assertion will break the program execution. Before using Contracts, in these kind of situations, I used to throw an Exception, which solved the problem. How would you handle this with Contract.Assert()? Returning null or default(element_type) after the Contract.Assert() call knowing it will never be called and shutting up the compiler? Or is there any other more elegant way of doing this? Thanks

    Read the article

  • Why not System.Void?

    - by Stewart
    I have no practical reason for knowing this answer, but I'm curious anyway... In C#, trying to use System.Void will produce a compilation error: error CS0673: System.Void cannot be used from C# -- use typeof(void) to get the void type object As I understood it, void is simply an alias of System.Void. So, I don't understand why 'System.Void' can't be used directly as you might with 'string' for 'System.String' for example. I would love to read an explanation for this! Incidentally, System.Void can be successfully used with the Mono compiler, instead of Microsoft's .Net, and there it appears equivalent to using the void keyword. This must therefore be a compiler-enforced restriction rather than a CLR restriction, right?

    Read the article

  • C++ Scoping and ambiguity in constructor overloads

    - by loarabia
    I've tried the following code snippet in 3 different compilers (G++, clang++, CL.exe) and they all report to me that they cannot disambiguate the overloaded constructors. Now, I know how I could modify the call to the constructor to make it pick one or the other (either make explicit that the second argument is a unsigned literal value or explicitly cast it). However, I'm curious why the compiler would be attempting to choose between constructors in the first place given that one of the constructors is private and the call to the constructor is happening in the main function which should be outside the class's scope. Can anyone enlighten me? class Test { private: Test(unsigned int a, unsigned int *b) { } public: Test(unsigned int a, unsigned int b) { } }; int main() { Test t1 = Test(1,0); // compiler is confused }

    Read the article

  • auto_inline - inadequate documentation

    - by Mick
    I want to disable inlining for a particular function. What the compiler does for everything else should be as specified in the project properties. I found a page on a forum which suggested the following: #pragma auto_inline(off) void func() { } #pragma auto_inline() The author suggested that calling auto_inline() with no arguments will set the compiler to revert to doing whatever the default action was before the call to auto_inline(off). Can anyone confirm that this works for visual studio 2008? I ask because the VS2008 documentation makes no mention at all of what happens if you call this function with no arguments.

    Read the article

  • C# overloading with generics: bug or feature?

    - by TN
    Let's have a following simplified example: void Foo<T>(IEnumerable<T> collection, params T[] items) { // ... } void Foo<C, T>(C collection, T item) where C : ICollection<T> { // ... } void Main() { Foo((IEnumerable<int>)new[] { 1 }, 2); } Compiler says: The type 'System.Collections.Generic.IEnumerable' cannot be used as type parameter 'C' in the generic type or method 'UserQuery.Foo(C, T)'. There is no implicit reference conversion from 'System.Collections.Generic.IEnumerable' to 'System.Collections.Generic.ICollection'. If I change Main to: void Main() { Foo<int>((IEnumerable<int>)new[] { 1 }, 2); } It will work ok. Why compiler does not choose the right overload?

    Read the article

  • Polymorphic behavior not being implemented

    - by Garrett A. Hughes
    The last two lines of this code illustrate the problem: the compiler works when I use the reference to the object, but not when I assign the reference to an array element. The rest of the code is in the same package in separate files. BioStudent and ChemStudent are separate classes, as well as Student. package pkgPoly; public class Poly { public static void main(String[] arg) { Student[] stud = new Student[3]; // create a biology student BioStudent s1 = new BioStudent("Tom"); // create a chemistry student ChemStudent s2 = new ChemStudent("Dick"); // fill the student body with studs stud[0] = s0; stud[1] = s1; // compiler complains that it can't find symbol getMajor on next line System.out.println("major: " + stud[0].getMajor() ); // doesn't compile; System.out.println("major: " + s0.getMajor() ); // works: compiles and runs correctly } }

    Read the article

  • Why isn't the new() generic constraint satisfied by a class with optional parameters in the construc

    - by Joshua Flanagan
    The following code fails to compile, producing a "Widget must be a non-abstract type with a public parameterless constructor" error. I would think that the compiler has all of the information it needs. Is this a bug? An oversight? Or is there some scenario where this would not be valid? public class Factory<T> where T : new() { public T Build() { return new T(); } } public class Widget { public Widget(string name = "foo") { Name = name; } public string Name { get; set; } } public class Program { public static void Main() { var widget = new Widget(); // this is valid var factory = new Factory<Widget>(); // compiler error } }

    Read the article

  • .NET CF 2.0: Stream implements IDisposable ... kind of?

    - by mvanbem
    I've run into something odd in a .NET CF 2.0 project for Pocket PC 2003 (Visual Studio 2005). I was dealing with a System.IO.Stream object and found that the IDE wouldn't auto-complete the Dispose() method. I typed it in manually and received: 'System.IO.Stream.Dispose(bool)' is inaccessible due to its protection level The error is referring to the protected Dispose(bool) method. Dispose() is either private or not present. Question 1: How is this possible? Stream implements IDisposable: public abstract class Stream : MarshalByRefObject, IDisposable ... and IDisposable requires a Dispose() method: public interface IDisposable { void Dispose(); } I know the compiler won't let me get away with that in my code. Question 2: Will I cause problems by working around and disposing my streams directly? IDisposable idisp = someStream; idisp.Dispose(); The implicit cast is accepted by the compiler.

    Read the article

  • semicolon in C++?

    - by SysAdmin
    Here is the question Is "missing semicolon" error really required? why not treat it as a warning? Why I am asking this stupid question? When I compile this code int f = 1 int h=2; the compiler intelligently tells me that where I am missing it. but to me its like - "If you know it, just treat it as if its there and go ahead. (Later I can fix the warning) int sdf = 1,df=2; sdf=1 df =2 even for this code it behaves the same. i.e even if multiple statements (without ;) are in the same line, the compiler knows. So, why not just remove this requirement? why not behave like python,vb etc

    Read the article

  • trouble adding a rectange in actionscript

    - by touB
    I have a rectange that I've created and set its individual properties like so var aRect:Rect = new Rect(); aRect.x = 10; aRect.y = 10; aRect.width = "15%"; aRect.height = "15%"; addChild(aRect); I have 2 problems that the compiler seems to be choking on. The first is that the compiler chokes on 15% and "15%", with or without the quotes, neither works. The second is that adding the rectangle doesn't work. I tried all the following, but nothing works. addChild(aRect); Application.addChild(aRect); Application.application.addChild(aRect); stage.addChild(aRect); What's the deal, I thought actionscript would be nicer than mxml.

    Read the article

  • Can the template parameters of a constructor be explicitly specified?

    - by sth
    A constructor of a class can be a template function. At the point where such a constructor is called, the compiler usually looks at the arguments given to the constructor and determines the used template parameters from them. Is there also some syntax to specify the template parameters explicitly? A contrived example: struct A { template<typename T> A() {} }; Is there a way to instantiate this class? What is the syntax to explicitly specify the constructor's template parameters? My use case would be a problem were the compiler doesn't seem to find the correct templated constructor. Explicitly specifying the template parameters would probably generate more useful error messages or even resolve the problem.

    Read the article

  • Passing a generic class to a java function?

    - by rodo
    Is it possible to use Generics when passing a class to a java function? I was hoping to do something like this: public static class DoStuff { public <T extends Class<List>> void doStuffToList(T className) { System.out.println(className); } public void test() { doStuffToList(List.class); // compiles doStuffToList(ArrayList.class); // compiler error (undesired behaviour) doStuffToList(Integer.class); // compiler error (desired behaviour) } } Ideally the List.class and ArrayList.class lines would work fine, but the Integer.class line would cause a compile error. I could use Class as my type instead of T extends Class<List> but then I won't catch the Integer.class case above.

    Read the article

< Previous Page | 147 148 149 150 151 152 153 154 155 156 157 158  | Next Page >