-2

私はc++を試していますが、まだ大学の学生ですが、エラーの原因を特定できません。誰か助けてもらえますか?

class  M() {
    static  bool m() {  
        cout << "Hello, do you want to tell me your name (y or n)";
        char answer = 0;
        int  times = 1;
        while(times < 3) {
            cin >> answer;
            switch(answer){
                case 'y' : 
                    return true;
                case 'n' : 
                    return false;
                default :  
                    cout << "I am sorry, I don't understand that.";
                    times += 1;
            }
            cout << "Your time's up.";
            return false;
        }    
    }
}

int main() {
    M::m();
};
4

1 に答える 1

1

それはこの行にあります:

class M() {

クラス名の定義の後に角かっこを入れないでください。次のように変更します。

class M {

コードにはさらにいくつかの問題があります(中括弧を閉じるクラスの後のセミコロンなど)。動作するコードは次のようになります。

class  M {
public:
    static bool m() {
        std::cout << "Hello, do you want to tell me your name (y or n)";
        char answer = 0;
        int  times = 1;
        while(times < 3) {
            std::cin >> answer;
            switch(answer){
                case 'y' :
                    return true;
                case 'n' :
                    return false;
                default :
                    std::cout << "I am sorry, I don't understand that.";
                    times += 1;
            }
            std::cout << "Your time's up.";
            return false;
        }
        // You need this so you won't get warnings.
        return false;
    }
}; // Don't forget this semicolon!

int main() {
    M SomeObject;
    SomeObject::m();
};
于 2012-12-15T01:14:39.203 に答える