C++ анонимная структура необычное определение
Глядя на какой-то скрипт.h я увидел это:
struct
{
int resource;
} SimulRes[SIMULRES];
Где SIMULRES определяется выше как:
#define SIMULRES 50
Я предполагаю, что это анонимная структура, но я привык видеть, что она определена внутри именованной структуры. Как это ведет себя с различными компиляторами C++? Что делает параметр в квадратных скобках? Благодарю.
2 ответа
Это определение создает массив размера SIMULRES
анонимного struct
,
Поскольку тип структуры является анонимным, вы не можете передать его функции или создать другие экземпляры (или указатели), отличные от того, который уже был определен.
Это не синтаксис C++, а синтаксис C.
Это просто означает определение массива SimulRes
из 50 (SIMULRES
) элементы, где типом элементов является структура, имеющая один элемент resource
,