Pb avec string-VC++

Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
- - Dernière réponse : superpa
Messages postés
113
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
5 janvier 2004
- 9 avril 2003 à 13:22
Tout content d'essayer la class string, j'ai fait cela:
#include <string>

string Chaine = "test";

et là, le compilateur me donne ce message:
C:\ff7tss\Filer.cpp(43) : error C2146: syntax error : missing ';' before identifier 'Chaine'
C:\ff7tss\Filer.cpp(43) : error C2501: 'string' : missing storage-class or type specifiers

On dirait que la classe string de VC++ 6.0 n'est pas détecté, où est mon erreur? merci!!!!
Afficher la suite 

4 réponses

Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
0
Merci
C'est bon, j'ai trouvé, j'avais oublié le std:: devant la déclaration du string... (Y at'il un moyen de ne pas le mettre? pour qu'il soit implicite)
Commenter la réponse de didrocks
Messages postés
6
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
8 avril 2003
0
Merci
vas-y molo
Commenter la réponse de jeromeB51
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Oui, tu peux mettre "using namespace std;" au début de ton code pour que tu ne sois pas obligé de préfixer toutes les classes de la STL par "std::".

Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid
Messages postés
113
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
5 janvier 2004
0
Merci
Le using est un très bon moyen d'éviter ce genre d'erreur.
Il y en a aussi un autre:

typedef std::string string;

Ca peut éviter des conflits
si tu fais un using namespace std;
tu peux avoir des conflit entre, par exemple:
la classe ostream de ostream.h
et std::ostream.h de

qui porteront alors le même nom => impossible pour le compilateur de les distinguer

Ceci dit, en pratique, ce cas est exceptionnel (mais je l'ai eu une fois dans un très grand projet).

A bientôt,
P-A
Commenter la réponse de superpa