Пусть компилятор проверит количество инициализаторов массива

Инициализация массива (в C ++, но любое решение, которое работает для C, вероятно, также будет работать и здесь) с меньшим количеством инициализаторов, чем с элементами, вполне законна:

int array[10] = { 1, 2, 3 };

Однако это может быть источником неясных ошибок. Есть ли способ заставить компилятор (gcc) проверять количество инициализаторов для одного конкретного массива и выдавать предупреждение или даже ошибку, если объявлено и фактический размер не совпадает?

Я знаю, что могу использоватьint array[] = { 1, 2, 3 }; и затем может использовать статические утверждения, включающиеsizeof(array) чтобы проверить мои ожидания там. Но я пользуюсьarray в других единицах перевода, поэтому я должен объявить его с размером e, xplicit. Так что этот трюк не сработает для меня.

Ответы на вопрос(4)

Ваш ответ на вопрос