2010-11-09 7 views
1

Je reçois l'erreur suivante lors de la tentative de compilation de ce qui suit. (oups il na pas coller d'abord essayer)erreurs de compilateur C++

C: \ Users \ Propriétaire \ Desktop \ Étude \ C++ \ Affectation 1 \ Codeblocks \ Assignment2 \ travelLength.h | 24 | erreur: plusieurs types dans une déclaration |

Dans le passé j'ai toujours pensé que c'était un ";" manquant, mais il n'y a rien qui manque cette fois-ci (est-ce qu'il y a?). J'ai enlevé la #include « travelZone.h » de l'exemple ci-dessous, mais je collé l'erreur persiste ... Ive a eu avec C++

oui im ​​un étudiant ... frustré ... étudiant

#ifndef TRAVELLENGTH_H 
#define TRAVELLENGTH_H 

#include<string> 
#include<iostream> 


class TravelLength 
{ 
protected: 
int itsLengthMinutes; 
string itsName; 

public: 
TravelLength(); 
virtual ~TravelLength(); 

virtual void print() = 0; //display output for a travelpass object 
virtual string getName() const = 0; //return string of its Name 

virtual float PriceAccept(TravelZone* theZone) =0; 

    friend ostream& operator <<(std::ostream& outputStream, const TravelLength& thisTLength); 
}; 

#endif 
+5

Et le message d'erreur est? –

+0

Je pense que vous devez nous dire l'erreur que vous obtenez. BTW, parce que vous avez supprimé "travelZone.h", TravelZone est maintenant un type inconnu, au moins en avant le déclarer. –

+0

Dans quelle ligne l'erreur est-elle signalée? – Vlad

Répondre

3

Il semble que vous essayez d'utiliser des types qui font partie de la bibliothèque standard (chaîne, ostream) sans faire référence à l'espace de nom standard. Tous les types qui sont de la bibliothèque standard devrait être précédée d'std::

+0

le pblm n'était pas le std manquant ... pourrait-il être que dans une classe non apparentée (utilisateur) il me manquait un point-virgule ?? – user349456

+0

De votre édition, vous avez seulement ajouté 'std ::' à une instance d'ostream. Vous en aurez également besoin au retour de cette fonction et sur le type de retour de la fonction 'getName'. – heavyd

+1

@ user349456: Si vous obtenez toujours l'erreur après avoir changé la chaîne en std :: string et ostream en std :: ostream, vous devez faire quelque chose à propos de TravelZone. Aussi, exactement quelle ligne vous donne l'erreur? – user200783

0

Êtes-vous sûr que vous corrigiez tous lesstd:: problèmes?

Cette compiles de code (comme un seul fichier RPC) sans erreur, et semble OK pour moi:

#include<string> 
#include<iostream> 


class TravelZone; 

class TravelLength 
{ 
protected: 
int itsLengthMinutes; 
std::string itsName; 

public: 
TravelLength(); 
virtual ~TravelLength(); 

virtual void print() = 0; //display output for a travelpass object 
virtual std::string getName() const = 0; //return string of its Name 

virtual float PriceAccept(TravelZone* theZone) =0; 

    friend std::ostream& operator <<(std::ostream& outputStream, const TravelLength& thisTLength); 
}; 

int main() 
{ 
    return 0; 
} 
Questions connexes