expected identifier before numeric constant 問題的解決

來源:互聯網
上載者:User

很不錯,這篇文章解決我的一個類似問題,由於這篇文章的存在,從發現道題到解決問題只花了幾分鐘,謝謝原文作者了

我的問題主要是在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
                };
編譯通過

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.