猿问

未定义的静态成员引用

未定义的静态成员引用

我正在使用交叉编译器。我的代码是:

class WindowsTimer{public:
  WindowsTimer(){
    _frequency.QuadPart = 0ull;
  } private:
  static LARGE_INTEGER _frequency;};

我收到以下错误:

对WindowsTimer :: _ frequency'的未定义引用

我也尝试将其改为

LARGE_INTEGER _frequency.QuadPart = 0ull;

要么

static LARGE_INTEGER _frequency.QuadPart = 0ull;

但我仍然得到错误。

有谁知道为什么?


繁星淼淼
浏览 500回答 3
3回答

桃花长相依

您需要_frequency在.cpp文件中定义。即LARGE_INTEGER WindowsTimer::_frequency;

杨魅力

如果在类中声明了一个静态变量,那么你应该像这样在cpp文件中定义它LARGE_INTEGER WindowsTimer::_frequency = 0;
随时随地看视频慕课网APP
我要回答