Я часто использую строковые литеральные таблицы в своем C-коде. Эти таблицы выглядят примерно так:
static const char* const stateNames[STATE_AMOUNT] =
{
"Init state",
"Run state",
"Pause state",
"Error state",
};
Проблема с приведенным выше кодом заключается в том, что если таблица становится длиннее и изменяется в процессе разработки, я время от времени забываю запятую. Код компилируется без проблем с пропущенной запятой, но моя программа завершается сбоем, поскольку последняя строка установлена в NULL
. Я использовал компиляторы MinGW и Keil для проверки.
Есть ли способ генерировать предупреждение компилятора для моей инициализации, если запятая отсутствует?