2010-09-29 7 views
1

J'ai une classe assez simple simulateur appelé simulator.hErreur de compilation: `classe ne désigne pas un type

#include <iostream.h> 
#include <stdlib.h> 

Class Simulator { 

    private: 
    short int startFloor; 
    short int destFloor; 
    public: 
     void setFloors(); 
     void getFloors(short int &, short int &); 

}; 

Maintenant, quand je compile, je reçois cette erreur:
simulator.h: 4: erreur: `Class 'ne nomme pas un type

Qu'est-ce que j'ai eu de mal ici?

Répondre

1

Je pense que c'est la classe minuscule.

1

devrait être « classe » minuscule au lieu de « classe »;)

5

Vous devez faire Class minuscule (et devrait probablement cesser d'utiliser l'en-tête iostream.h dépréciée):

#include <iostream> 
#include <cstdlib> 

class Simulator { 
    // Stuff here 
} 
+0

pourrait tout aussi bien utiliser '' aussi. – GManNickG

+0

'' n'est pas obsolète. Ce n'était jamais une partie de la norme. –

+0

@Prasoon - C'est pourquoi je voudrais (et d'autres que je connais) le considérer obsolète (quelque chose ne doit pas être standard pour être déprécié). Il existe une version conforme aux normes qui devrait être utilisée à la place. –

1

Il doit être inférieur case class.

Il doit être

#include <iostream> 
0

Faire le 'C' a 'c' dans le mot classe. Doit être en minuscule.

+0

C'était juste. De toutes les erreurs de syntaxe, j'en ai fait une avec une faute de frappe :( – moto

1

Lorsque vous écrivez

Class Simulator { 

le compilateur pense 'classe' est un type comme int, float ou une classe définie par l'utilisateur, ou struct typedef.

Le mot-clé utilisé pour définir les classes en C++ (comme d'autres réponses le mentionnent également) est 'class'. Notez également que les nouveaux noms de fichiers d'en-tête sont iostream (puisqu'il s'agit d'un en-tête C++ standard) et cstdlib (puisqu'il s'agit en fait d'un en-tête c).

Il devrait donc être

#include <iostream> 
#include <cstdlib> 

class Simulator { 

    private: 
    short int startFloor; 
    short int destFloor; 
    public: 
     void setFloors(); 
     void getFloors(short int &, short int &); 

}; 
Questions connexes