我想明白了這個錯誤:語法錯誤之前「布爾」,在下面的代碼:爲什麼我得到這個編譯器錯誤?
typedef struct hdate{
date_arc_u date;
unsigned short time;
bool test;
}PACKED_ST horodate_a
當我改變布爾爲另一種類型是沒有錯誤。 我已經在代碼的其他部分使用了bool而沒有錯誤。
我不明白,在這裏這個錯誤....
我想明白了這個錯誤:語法錯誤之前「布爾」,在下面的代碼:爲什麼我得到這個編譯器錯誤?
typedef struct hdate{
date_arc_u date;
unsigned short time;
bool test;
}PACKED_ST horodate_a
當我改變布爾爲另一種類型是沒有錯誤。 我已經在代碼的其他部分使用了bool而沒有錯誤。
我不明白,在這裏這個錯誤....
這可能是因爲你正在編寫C代碼,以及bool
類型不存在C.你的文件擴展名可能是.C ,而不是.cpp,你的代碼看起來像是用C編寫的。
謝謝,我沒有注意到有一些C擴展名的文件。我改變了它,它工作。 – Harvey
可能你的C編譯器不知道bool類型。
你可以試試:
1 - 這包括在第一#include <stdbool.h>
2-起初typedef enum bool { false, true };
2並不是一個好的解決方案。添加stdbool的原因是爲了防止每個人都定義自己的兼容性噩夢。 – StoryTeller
謝謝,但我使用CPP(除了這是一個C擴展名的文件) – Harvey
聲明ü可以張貼一些更多的代碼。一個問題可能是由於「} PACKED_ST horodate_a」,你是typedef並同時創建新變量。 – Sumeet
讓我猜測.. C90? –