我想在我的C++程序中使用typedef結構。我開始編寫下面的代碼,直到我嘗試將方法添加到返回模板typedef結構指針的類時收到錯誤。C++類Typedef Struct沒有命名一個類型
StructSource.h
template <typename T>
class StructSource {
public:
struct TestStruct{
T value;
};
};
User.h
#include "StructSource.h"
class User {
public:
typedef StructSource<int>::TestStruct IntStruct;
IntStruct *getIntStruct();
};
User.cpp
#include "User.h"
IntStruct *User::getIntStruct() {
return 0;
}
用gcc編譯時,這提供了以下錯誤。
User.cpp:3:1: error: ‘IntStruct’ does not name a type
我無法解釋爲什麼會出現這種情況。我缺少什麼類型的信息?
當我正在查找重複的問題時,快速回答:使用'User :: IntStruct'。 – Xeo
*拍打額頭*當然。 – Nexus