"C2236: 予期しないトークン 'class' です。" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2236: 予期しないトークン 'class' です。';' が入力されていることを確認してください。<ソース名>: error C2143: 構文エラー: ';' が ':' の前にありません。

ソース(バグ有り):

#include <iostream>
#include <string>
using namespace std;
class CVehicle{ public:
virtual void move()=0; } class CCar : public CVehicle {
public:
void move()
{ cout << "a car runs." << endl; } }; int main() {
CCar mycar;
mycar.move();
return 0; }


原因:
class の定義で定義の最後にセミコロンがありません。

対処:
以下の例ではクラス CVehicle の定義の最後にセミコロンを付加します。


ソース(修正済み):

#include <iostream>
#include <string>
using namespace std;
class CVehicle{ public:
virtual void move()=0; }; class CCar : public CVehicle {
public:
void move()
{ cout << "a car runs." << endl; } }; int main() {
CCar mycar;
mycar.move();
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]