我的代码如下
#include <vector>
using namespace std;
...
class A {
NEW_TYPE a;
...
public:
typedef vector<int> NEW_TYPE;
...
}
错误说“NEW_TYPE”没有命名类型
谁知道问题出在哪里?
谢谢
最佳答案
通常,C++ 中的名称只有在声明之后才可用:
typedef int foo;
foo x = 1; // OK
bar y = 2; // Error
typedef int bar; // too late
你的类(class)也是如此。向上移动 typedef:
class A
{
public:
typedef std::vector<int> NEW_TYPE;
private:
NEW_TYPE a;
// ...
public:
// ...
};
关于C++ 没有类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19084356/