sepp2k's Profile User Rating: *****

Reputation: 2100 Grandmaster
Group:
Mentors
Active Posts:
3,209 (2.77 per day)
Joined:
21-June 11
Profile Views:
50,724
Last Active:
User is offline Today, 05:39 PM
Currently:
Offline

Previous Fields

Country:
DE
OS Preference:
Linux
Favorite Browser:
Who Cares
Favorite Processor:
Who Cares
Favorite Gaming Platform:
Who Cares
Your Car:
Who Cares
Dream Kudos:
0
Expert In:
C/C++, Functional Programming, Java, Python, Computer Science
Icon   sepp2k has not set their status

Posts I've Made

  1. In Topic: Taking file as stdin. EOF when getting user input

    Posted 18 Aug 2014

    If you redirect stdin, you can't take input from the user (without operating system-specific code at least). If you want to get input from the user and from a file, why not just take the file name as an argument?
  2. In Topic: working with graphs first time template user

    Posted 16 Aug 2014

    QueType is not defined as a template, so you can't write QueType<VertexType> on line 57 (or anywhere else for that matter. You need to define QueType as a template like you did for GraphType in order for this to work.
  3. In Topic: template keyword

    Posted 12 Aug 2014

    Due to the context-sensitive nature of C++, the C++ parser needs to know which identifiers refer to types and which refer to variables or functions. Usually it can handle this by simply keeping track of the names of all types that have been declared so far (since a piece of code can't mention a type that's only declared later in the file). However due to the specifics of how templates work, the parser can not do this for identifiers that are dependent on templates, that is it can not know whether foo<T>::bar is a type or variable/function¹.

    So to work around this issue, you have to manually tell the parser which dependent names are types and which are variables or functions by adding the typename keyword when accessing a type through a template-dependent name.

    ¹ Of course the compiler knows this at some point, but it only knows this after template expansion, which happens after the parsing stage is already completed.

    View PostSkydiver, on 12 August 2014 - 03:01 PM, said:

    This is dodging your question, but personally, I prefer either:
    for (auto it : unknownData){
        std::cout << it << std::endl;
    }
    
    


    I wouldn't call the variable it here as it's not an iterator.
  4. In Topic: Inheritance by using FLTK

    Posted 10 Aug 2014

    They're not the same. Circle(p, r); in the body of the constructor creates a temporary value of type Circle (by calling the constructor) and then throws it away. Using it in the initializer list invokes the constructor on the currently constructed object (rather than constructing a new one). There is no way to invoke a constructor on the current object outside of the initializer list. Once the body of the constructor is reached, a superclass constructor must have already run. So if you don't specify one in the initializer list, the super class's default constructor will be called. And if it doesn't have one, you get the error you got.
  5. In Topic: Inheritance by using FLTK

    Posted 9 Aug 2014

    It looks like the Circle class does not have a default constructor, so you'll need to invoke another constructor from your Smiley constructor's initializer list. Like this:

    Smiley::Smiley(Point p, int r)
      : Circle(p,r)
    {
        add(Point(p.x-r,p.y-r));
    }
    
    

My Information

Member Title:
D.I.C Lover
Age:
Age Unknown
Birthday:
Birthday Unknown
Gender:
Years Programming:
15
Programming Languages:
Haskell, Ruby, OCaml, SML, F#, Scala, Racket/Scheme, Vala, C#, C++, Java

Contact Information

E-mail:
Private
ICQ:
ICQ  205544826
Jabber:
Jabber  sexykane86@jabber.ccc.de