2012-02-19 47 views
-7

錯誤:之前令牌丟失的二進制運算符 「(」

cxx.cpp:5:13: error: missing binary operator before token "(" 
cxx.cpp:7:15: error: missing binary operator before token "(" 

代碼:

#if definied(_WIN32) || definied(_WIN64) || definied(__WIN32__) 
     const char * PORT = "COM1"; 
    #elif definied(__linux) || definied(__linux__) || definied(linux) 
     const char * PORT = "dev/ttyS1"; 
    #else 
     const char * PORT = NULL; 
    #endif 

問題:

  1. 編譯器正在等待一個新的defined()呼叫
  2. 呢?可以檢測到任何Linux(和變體)或Windows版本?

在此先感謝。

+3

由於這不可能是實際的代碼( 「definied」 顯然是一個複製和粘貼錯字),這很難回答。 – 2012-02-19 16:05:42

+5

'definied',真的嗎? – Mat 2012-02-19 16:05:46

+0

通過預處理器代碼示例,您已經拼錯了'defined'。 – talonmies 2012-02-19 16:06:44

回答

4

你拼錯defined

#if definied(_WIN32) || definied(_WIN64) || definied(__WIN32__) 

#elif definied(__linux) || definied(__linux__) || definied(linux) 

應該是:

#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) 

#elif defined(__linux) || defined(__linux__) || defined(linux) 
相關問題