这个问题在这里已经有了答案:




9年前关闭。






如果我在类声明之外实现函数,我不知道为什么会出现错误“对`TT::i'的 undefined reference ”?
这是代码..

class TT{
private:
    static int i;
public:
    void t();
};

void TT::t(){
    i=0;
}

最佳答案

这与您定义函数的位置无关,是您没有定义静态成员变量,您只是声明了它。您需要将其定义放在类之外,例如

int TT::i;

关于c++成员函数访问私有(private)静态变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9834049/

10-13 08:22