很不錯,這篇文章解決我的一個類似問題,由於這篇文章的存在,從發現道題到解決問題只花了幾分鐘,謝謝原文作者了
我的問題主要是在linux的ioctl系統調用命令字的設計中一個命令字無意中與某一個函數名重名了。。。。然後調用過程出現問題
enum ProxyType
{
OTHERALL_TASK = 0,
SPEECH_TASK = 3
};
以前上面的代碼編譯是沒問題的,更新代碼後,錯誤提示:
BrType.hpp:632: 錯誤:expected identifier before numeric constant
BrType.hpp:632: 錯誤:expected `}' before numeric constant
BrType.hpp:632: 錯誤:expected unqualified-id before numeric constant
BrType.hpp:633: 錯誤:expected declaration before ‘}’ token
問題出在: SPEECH_TASK,在另外一個標頭檔裡也有宏定義!而這個檔案include了那個標頭檔,
SPEECH_TASK被替換為相應的常數,所以出了以上的錯誤提示。
找了兩個小時,主要是很難想到是別的檔案#define 引起的衝突!
videowidget/mplayervideowidget.h
enum SEEK_TYPE {
RELATIVE,
PERCENT,
ABSOLUTE_POS
};
改為:
enum SEEK_TYPE {
RELATIVE_RELATIVE,
PERCENT,
ABSOLUTE_POS
};
編譯通過
很不錯,這篇文章解決我的一個類似問題,由於這篇文章的存在,從發現道題到解決問題只花了幾分鐘,謝謝原文作者了
我的問題主要是在linux的ioctl系統調用命令字的設計中一個命令字無意中與某一個函數名重名了。。。。然後調用過程出現問題
enum ProxyType
{
OTHERALL_TASK = 0,
SPEECH_TASK = 3
};
以前上面的代碼編譯是沒問題的,更新代碼後,錯誤提示:
BrType.hpp:632: 錯誤:expected identifier before numeric constant
BrType.hpp:632: 錯誤:expected `}' before numeric constant
BrType.hpp:632: 錯誤:expected unqualified-id before numeric constant
BrType.hpp:633: 錯誤:expected declaration before ‘}’ token
問題出在: SPEECH_TASK,在另外一個標頭檔裡也有宏定義!而這個檔案include了那個標頭檔,
SPEECH_TASK被替換為相應的常數,所以出了以上的錯誤提示。
找了兩個小時,主要是很難想到是別的檔案#define 引起的衝突!
videowidget/mplayervideowidget.h
enum SEEK_TYPE {
RELATIVE,
PERCENT,
ABSOLUTE_POS
};
改為:
enum SEEK_TYPE {
RELATIVE_RELATIVE,
PERCENT,
ABSOLUTE_POS
};
編譯通過