0

NeHe.gamedev.net からウィンドウ作成コードを取得して、それをクラスに変換して、より簡単に使用できるようにしようとしていますが、問題が発生しています。WndProc メソッドは静的として宣言する必要があります。これはもちろん、その中で使用される変数が静的である必要があることを意味します。しかし、ヘッダーファイルでこのように宣言すると

private:

static bool keys[256];                  //for key events
static bool active;
static bool fullscreen;

それらが未宣言の外部であるというエラーが表示されます。私はC ++にかなり慣れていないので、欠けているのは何ですか? ありがとう!

4

1 に答える 1

2

静的な値も実装ファイルで宣言する必要があります。.cpp ファイルには、次のようなものが必要です。

bool MyClass::keys[256];
bool MyClass::active;
bool MyClass::fullscreen;

問題は、実装ファイルのどこかで宣言されていないため、コンパイラには静的変数用のストレージを配置する適切な場所がないことです。

于 2012-06-08T00:21:07.660 に答える