2012-04-13 37 views
24

Tôi gặp phải lỗi ": id không được yêu cầu trước khi '{' mã thông báo" trên dòng 6.Lỗi C++: dự kiến ​​không đủ tiêu chuẩn-id

Tôi không thể nói điều gì sai.

#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(); 

} 

Trả lời

21

Không nên có dấu chấm phẩy ở đây:

class WordGame; 

... nhưng không nên có một ở phần cuối của định nghĩa lớp học của bạn:

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

Loại bỏ dấu chấm phẩy sau WordGame.

Bạn thực sự cần phải phát hiện vấn đề này khi lớp học nhỏ hơn rất nhiều. Khi bạn viết mã, bạn nên biên dịch mỗi khi bạn thêm nửa tá dòng.

8

Là một mặt lưu ý, xem xét thông qua các chuỗi trong setWord() như tham chiếu const để tránh sao chép dư thừa. Ngoài ra, trong displayWord, hãy xem xét việc thực hiện điều này một hàm const để tuân theo const-correctness.

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

chấm phẩy nên ở phần cuối của định nghĩa lớp chứ không phải sau khi tên:

class WordGame 
{ 
}; 
Các vấn đề liên quan