4

谁能告诉我以下程序中的错误。

#include <iostream>
using namespace std;

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

};

count A::cnt = 0;

int main()
{
    return 0;
}

错误

count 没有命名类型

4

2 回答 2

13

您必须使用A::count A::cnt = 0;您的 typedef,因为您的 typedef 是在 A 类的范围内定义的。

即要么将 typedef 移到类之外,要么使用上面的范围解析。

于 2013-05-30T07:22:17.197 回答
2

Your typedef is inside your class and as such not globally available.

You would need to

#include <iostream>
using namespace std;

typedef int count;


class A
{
        public:
        static count cnt ;

};

count A::cnt = 0;

int main()
{
    return 0;
}
于 2013-05-30T07:21:09.650 回答