2012-04-13 19 views
24

Recibo un error "Error: se esperaba sin reservas-id antes '{' token" en la línea 6.C++ de error: se esperaba sin reservas-id

no puede decir lo que está mal.

#include <iostream> 

using namespace std; 

class WordGame; 
{ 
public: 

    void setWord(string word) 
    { 
     theWord = word; 
    } 
    string getWord() 
    { 
     return theWord; 
    } 
    void displayWord() 
    { 
     cout << "Your word is " << getWord() << endl; 
    } 
private: 
    string theWord; 
} 


int main() 
{ 
    string aWord; 
    WordGame theGame; 
    cin >> aWord; 
    theGame.setWord(aWord); 
    theGame.displaymessage(); 

} 

Respuesta

21

No debe haber ningún punto y coma aquí:

class WordGame; 

... pero debe haber una al final de su definición de clase:

... 
private: 
    string theWord; 
}; // <-- Semicolon should be at the end of your class definition 
7

Deshágase del punto y coma después de WordGame.

Realmente debería haber descubierto este problema cuando la clase era mucho más pequeña. Cuando está escribiendo código, debe compilar cada vez que agrega media docena de líneas.

8

Como nota al margen, considerar la aprobación de las cadenas de setWord() como referencias de referencia para evitar el exceso de copia. Además, en displayWord, considere hacer de esto una función const para seguir const-correctness.

void setWord(const std::string& word) { 
    theWord = word; 
} 
2

punto y coma debe ser al final de la definición de clase en lugar de después del nombre:

class WordGame 
{ 
}; 
Cuestiones relacionadas