У меня есть структура typedef, например, так:
typedef struct {
int col;
int row;
} move_t;
Я пытаюсь передать массив типа move_t
в функцию в виде своего рода буфера для заполнения ... вот так:
void generate_valid_moves(int fc, int fr, move_t* moves, int limit);
или
void generate_valid_moves(int fc, int fr, move_t moves[], int limit);
Оба генерируют скрытую ошибку gcc:
moves.h:43: error: expected declaration specifiers or ‘...’ before ‘move_t’
moves.h:887: error: conflicting types for ‘generate_valid_moves’
moves.h:43: note: previous declaration of ‘generate_valid_moves’ was here
Я попытался удалить typedef и просто сделать его нормальной структуройи т.д ... все приводят к подобным ошибкам.По ощущениям, я знаю, что что-то упустил ...
Прототип моей функции и сигнатура реализации абсолютно совпадают ... так что часть ошибки еще более странная.
Моя цель состоит в том, чтобысоздайте массив из move_t
, затем передайте его в эту функцию для заполнения move_t
.Затем вызывающая сторона выполняет работу с заполненным буфером move_t
.