如何将typedef变量指定为static

时间:2013-05-30 07:19:40

标签: c++

任何人都可以告诉我下面的程序中的错误。

#include <iostream>
using namespace std;

class A
{
        public:
        typedef int count;
        static count cnt ;

};

count A::cnt = 0;

int main()
{
    return 0;
}

错误

count没有命名类型

2 个答案:

答案 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;
}