當在此代碼段中找不到標識符時,出現錯誤。請幫助什麼是錯誤C中的結構聲明
typedef struct
{
Int32 frameID;
Int32 slotIndx;
Int32 symNumber;
}ControlList, *controlListPtr;
感謝
當在此代碼段中找不到標識符時,出現錯誤。請幫助什麼是錯誤C中的結構聲明
typedef struct
{
Int32 frameID;
Int32 slotIndx;
Int32 symNumber;
}ControlList, *controlListPtr;
感謝
我不認爲Int32
是的buildin類型。請嘗試#include<stdtype.h>
並使用int32
代替?
'stdtype.h'和'int32'?你不是指'stdint.h'和'int32_t'嗎? – 2010-11-04 07:14:52
@in silico,你是對的 – 2010-11-04 08:11:05
可能是找不到標識符Int32。試試這個:
#include <stdint.h>
typedef int32_t Int32;
typedef struct
{
Int32 frameID;
Int32 slotIndx;
Int32 symNumber;
} ControlList, *controlListPtr;
Int32
是不是內置類型。當你使用Int32
作爲結構成員變量的類型時,你會得到「標識符未找到」錯誤。很可能,Int32
在您的項目的其他地方定義。如果這是一個頭文件,則需要在您使用Int32
的文件中使用#include
頭文件。如果Int32
未在任何地方定義,則需要使用對您有意義的內容來定義它。
我有#include DataTypes.h文件,我在那裏做typedefs。所以這不是問題。 我在調試過程中遇到了這個問題,請看窗口。我發現其他變量是 可見。只有結構不是。 當我做了以下,我看到窗口中的結構沒有錯誤「標識符未找到」 controlListPtr-> frameID = 0; 我不知道爲什麼 – user437777 2010-11-04 11:08:41
'* controlListPtr'是一個類型。你不能像那樣使用它。你可以嘗試:'ControlList cl; controlListPtr cp = &cl; cp-> frameID = 10; cout << cp-> frameID << endl;' – Donotalo 2010-11-04 11:19:47
您的標題說'C',但它被標記爲'C++'。哪一個?此外,什麼是「標識符未找到」錯誤?什麼是你得到的確切的編譯器錯誤信息? – 2010-11-04 07:06:50
什麼是實際錯誤?是否定義了「Int32」? – wj32 2010-11-04 07:07:03