C++ анонимная структура необычное определение

Глядя на какой-то скрипт.h я увидел это:

struct
{
  int resource;
} SimulRes[SIMULRES];

Где SIMULRES определяется выше как:

#define SIMULRES 50

Я предполагаю, что это анонимная структура, но я привык видеть, что она определена внутри именованной структуры. Как это ведет себя с различными компиляторами C++? Что делает параметр в квадратных скобках? Благодарю.

2 ответа

Это определение создает массив размера SIMULRES анонимного struct,

Поскольку тип структуры является анонимным, вы не можете передать его функции или создать другие экземпляры (или указатели), отличные от того, который уже был определен.

Это не синтаксис C++, а синтаксис C.

Это просто означает определение массива SimulResиз 50 (SIMULRES) элементы, где типом элементов является структура, имеющая один элемент resource,

Другие вопросы по тегам