![](/img/trans.png)
[英]class header: error: expected unqualified-id before 'char' while compiling
[英]Syntax error compiling header containing “char[]”
我正在嘗試使用SDL_Mixer 1.2構建Visual C ++ 2008 DLL:
http://www.libsdl.org/projects/SDL_mixer/
據說這是為Visual C ++構建的,但是當我包含SDL_mixer.h時,出現錯誤C2143 :“ 語法錯誤:缺少';' 在“ [”之前 。
問題行是:
const char [] MIX_EFFECTSMAXSPEED =“ MIX_EFFECTSMAXSPEED”;
這是因為使用了動態數組構造“ char []”而不是“ char *”嗎?
文件中的所有表達式都由“ extern "C" {
“包裹。
在變量名稱后移動方括號
const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";
你要:
const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";
請注意,這里沒有“動態數組構造”-您有一個用字符串文字初始化的char數組-所有編譯時都是如此。
我的錯。 盡管這里的答案對於C構造是正確的,但實際的問題是我包括了“ D”語言文件而不是C版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.