我正在尝试使用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" {
”中。
答案 0 :(得分:5)
在变量名称
之后移动方括号const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";
答案 1 :(得分:3)
你想:
const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";
请注意,这里没有“动态数组构造” - 你有一个用字符串文字初始化的char数组 - 所有编译时间。
答案 2 :(得分:0)
我的坏。虽然这里的答案对于C构造是正确的,但实际问题是我包含了一个“D”语言文件而不是C版本。