C++ 没有类类型

标签 c++ class

我的代码如下

#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/

相关文章:

c++ - 从 std::streambuf 继承时出现不兼容的析构函数编译器警告

python - 如何将 python 中的 'transform' 类对象转换为 llvm?

c++ - 将 std::bind 与 boost::signals2 一起使用是否安全?

VBA 类实例

java - 在Java中计算附加值

php - 为什么返回此命名空间\类调用错误?

java - 动态管理两个具有相同包名和类名的jar文件

c++ - 如何使简单的循环更通用

c++ - C++17 引入的评估顺序保证是什么?

c++ - 有没有办法检查在 C++ 中复制或分配对象是否安全?