我正在尝试在我的 C++ 程序中使用 typedef 结构。我开始编写以下代码,直到尝试向我的类添加返回模板 typedef 结构指针的方法时收到错误消息。
结构源.h
template <typename T>
class StructSource {
public:
struct TestStruct{
T value;
};
};
用户.h
#include "StructSource.h"
class User {
public:
typedef StructSource<int>::TestStruct IntStruct;
IntStruct *getIntStruct();
};
用户.cpp
#include "User.h"
IntStruct *User::getIntStruct() {
return 0;
}
这在使用 GCC 编译时会出现以下错误。
User.cpp:3:1:错误:“IntStruct”没有命名类型
我不知道为什么会这样。我缺少什么类型的信息?