Question

Mon C ++ est un peu rouillé si ...

#include<list>
typedef list<int> foo;

qui me donne la oh si gentil message d'erreur:

  

test.cpp: 2: erreur de syntaxe avant '; » jeton

Que diable puis-je même Google dans ce ...

Était-ce utile?

La solution

Vous attendez la liste pour être dans l'espace global. Mais est définie à l'intérieur namespace std. Par conséquent, vous devez utiliser soit using namespace std; ou spécifier expliictly l'espace de noms comme std::list; Personnellement, je préfère la deuxième option.

Autres conseils

Les noms des C++ bibliothèque standard sont dans l'espace de noms std

#include <list>
typedef std::list<int> foo;

list<> est dans l'espace de noms de MST. Cela devrait bien:

#include<list>
typedef std::list<int> foo;

Sinon, vous pouvez le faire,

#include<list>
using namespace std;
typedef list<int> foo;

si vous ne voulez pas taper std:: partout.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top