use*_*159 10 c++ static-members
可能重复:
对静态成员有未定义的引用是什么意思?
如果我在类声明之外实现函数,我不知道为什么我得到错误"未定义引用`TT :: i'"?这是代码..
class TT{
private:
static int i;
public:
void t();
};
void TT::t(){
i=0;
}
Run Code Online (Sandbox Code Playgroud)
Stu*_*etz 19
它与您定义函数的位置无关,而是您没有定义静态成员变量,您只声明了它.你需要将它的定义放在类之外,例如
int TT::i;
Run Code Online (Sandbox Code Playgroud)
未定义的对 `TT::i' 的引用
是因为您还没有在类外定义静态数据成员。所有静态数据成员都必须在使用它们之前在类外定义。
class TT
{
private:
static int i;
public:
void t();
};
void TT::t()
{
i=0;
}
int TT::i=0; // define it outside the class. and if possible initialize
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16526 次 |
| 最近记录: |