Синтаксическая ошибка компиляции заголовка, содержащего "char []" - PullRequest
1 голос
/ 29 июля 2009

Я пытаюсь собрать библиотеку DLL Visual C ++ 2008 с использованием SDL_Mixer 1.2:

http://www.libsdl.org/projects/SDL_mixer/

Это предположительно из сборки, созданной для Visual C ++, но когда я включаю SDL_mixer.h, я получаю ошибку C2143 : "Синтаксическая ошибка : отсутствует ';' до '['".

Строка проблемы:

const char [] MIX_EFFECTSMAXSPEED = "MIX_EFFECTSMAXSPEED";

Это из-за использования конструкции динамического массива "char []" вместо "char *"?

Все выражения в файле заключены в "extern "C" {".

Ответы [ 3 ]

5 голосов
/ 29 июля 2009

переместить квадратные скобки после имени переменной

const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";
3 голосов
/ 29 июля 2009

Вы хотите:

const char MIX_EFFECTSMAXSPEED[] = "MIX_EFFECTSMAXSPEED";

Обратите внимание, что здесь нет "конструкции динамического массива" - у вас есть массив char, который инициализируется строковым литералом - все вещи времени компиляции.

0 голосов
/ 29 июля 2009

Мой плохой. Хотя ответы здесь верны в отношении конструкции C, реальная проблема заключалась в том, что я включил языковой файл "D" вместо версии C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...