包含“char []”的语法错误编译头

时间:2009-07-29 15:42:05

标签: c++ visual-c++

我正在尝试使用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" {”中。

3 个答案:

答案 0 :(得分:5)

在变量名称

之后移动方括号
const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";

答案 1 :(得分:3)

你想:

const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";

请注意,这里没有“动态数组构造” - 你有一个用字符串文字初始化的char数组 - 所有编译时间。

答案 2 :(得分:0)

我的坏。虽然这里的答案对于C构造是正确的,但实际问题是我包含了一个“D”语言文件而不是C版本。