在以下代码中找到错误:
class A
{
public:
static int i;
void print()
{
cout<< i << endl ;
}
};
int main()
{
A a;
a.print();
}
Run Code Online (Sandbox Code Playgroud)
我运行上面的代码,我得到"未定义的引用'A :: i'".为什么我收到此错误?
Fré*_*idi 12
既然A::i是一个static成员,它必须在类之外定义:
using namespace std;
class A
{
public:
static int i; // A::i is declared here.
void print()
{
cout << i << endl;
}
};
int A::i = 42; // A::i is defined here.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1985 次 |
| 最近记录: |