Структура с указателем на функцию - PullRequest
1 голос
/ 30 мая 2010

В структуре C я определил указатель функции следующим образом:

typedef struct _sequence_t
{
  const int seq[3];
  typedef void (* callbackPtr)();
} sequence_t;

Я хочу инициализировать переменную этого типа глобально:

sequence_t sequences[] = {
  { { 0, 1, 2 }, toggleArmament },
};

И я постоянно получаю сообщение об ошибке, сообщающее, что слишком много инициализаторов. Как это решить?

1 Ответ

11 голосов
/ 30 мая 2010

typedef используется для объявления псевдонима типа. Поскольку у вас есть действительный член здесь, удалите внутренний typedef.

typedef struct _sequence_t
{
  const int seq[3];
  void (* callbackPtr)();
} sequence_t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...