前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
error C2061 構文エラー:識別子
該当のソースコード
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; #define HAN 0 #define TYOU 1 // 判定を表す定数 #define WIN 0 #define LOSE 1 class hankatyou{ private: public: virtual void setnumber(); int getnumber(); void doJudge(User, Computer); // 勝敗を判定する void showJudge(); // 勝敗を表示する }; // ユーザーを表すクラス class User : public hankatyou{ private: int number; // public: void setnumber(); // int getnumber(); // }; // void User::setnumber() { cout << "0:半、1:丁 \n"; cout << "半か丁か選んでください。="; cin >> number; } // ユーザーの手を返すメンバ関数 int User::getnumber() { return number; } // コンピュータを表すクラス class Computer : public hankatyou{ private: int saikoro1;// 手 int saikoro2; int mix; int number; public: void setnumber(); // 手を選択する int getnumber(); // 手を返す }; // コンピュータの手を選択するメンバ関数 void Computer::setnumber() { saikoro1 = rand() % 6; saikoro2 = rand() % 6; mix = saikoro1 + saikoro2; if (mix % 2 == 0){ number = TYOU; } else{ number = HAN; } } // コンピュータの手を返すメンバ関数 int Computer::getnumber() { cout << "さいころ二つの合計=" << number << "\n"; return number; } // ジャッジを表すクラス class Judge : public hankatyou{ private: int judge; // 勝敗 public: void doJudge(User, Computer); // 勝敗を判定する void showJudge(); // 勝敗を表示する }; // ジャッジが勝敗を判定するメンバ関数 void Judge::doJudge(User u, Computer c) { int user, computer; user = u.getnumber(); computer = c.getnumber(); if (user == HAN && computer == TYOU || user == TYOU && computer == HAN) { judge = WIN; } else { judge = LOSE; } } // ジャッジが勝敗を表示するメンバ関数 void Judge::showJudge() { if (judge == WIN) { cout << "ユーザーの勝ちです!\n"; } else if (judge == LOSE) { cout << "ユーザーの負けです!\n"; } } // プログラムのメイン関数 int main() { User user; Computer computer; Judge judge; while (1) { // 乱数を初期化する srand(time(NULL)); // ユーザーが手を選択する user.setnumber(); // コンピュータが手を選択する computer.setnumber(); // 勝敗を判定する judge.doJudge(user, computer); // 勝敗を表示する judge.showJudge(); } return 0; }
試したこと
デバックしてみたところvoid doJudge(User, Computer);のUserの所で構文エラー:識別子がでます。Computerの方には出ないのですが。。。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
質問テンプレート部分の文言が多く残っています。質問内容や意図を読み取る上ではノイズにしかなりませんので、自身の質問に関係のある文章(およびソースコード)のみ残すか、きちんと残りのテンプレート部分を埋めてください。
タイトルには要件のみを書いてください。 https://teratail.com/help/question-tips#questionTips3-1 >ありがちな失敗としては、「助けてください」「初心者です」という表題をつけてしまうことです。