任何人都可以告诉我下面的程序中的错误。
#include <iostream>
using namespace std;
class A
{
public:
typedef int count;
static count cnt ;
};
count A::cnt = 0;
int main()
{
return 0;
}
count没有命名类型
答案 0 :(得分:13)
您必须使用A::count A::cnt = 0;
,因为您的typedef是在A类的范围内定义的。
即。要么将typedef移到类外,要么使用上面的范围解析。
答案 1 :(得分:2)
您的typedef
在您的班级内,因此不是全球可用的。
你需要
#include <iostream>
using namespace std;
typedef int count;
class A
{
public:
static count cnt ;
};
count A::cnt = 0;
int main()
{
return 0;
}