私は次のようなクラスを持っています:
class Parameter {
public:
Parameter();
virtual ~Parameter();
bool parse();
static int WindowWidth;
static int WindowHeight;
....
};
今、私の主に私は一緒に行きます:
int main(int argc, char *argv[]) {
Parameter parameter;
Controller controller;
parameter.parse("parameter.ini");
controller.initialise();
return 0;
}
ここで、Controller オブジェクトで、Parameter クラスの静的メンバーにアクセスする必要があります。したがって、私はちょうどやっています:
Controller::Controller() {
m_numberOfSweepers = Parameter::NumberOfSweepers;
m_ticks = Parameter::NumberOfTicks;
m_window_cx = Parameter::WindowWidth;
m_window_cy = Parameter::WindowHeight;
}
すべてが正常にコンパイルされます。GDB を取り出すと、パラメーター オブジェクトのパーサー メソッド内で、正しい値が静的メンバー内にあることがわかります。しかし、Controller::Controller() メソッド内では、ゴミが発生するだけです。
私は何を間違っていますか?
前もって感謝します。
編集: Parameter クラスの cpp ファイルで、次のことを行います (メソッドの外側で):
int Parameter::WindowWidth;
int Parameter::WindowHeight;