Ошибка: ожидаемое первичное выражение перед ')' токеном (C)
Я пытаюсь вызвать функцию с именем characterSelection(SDL_Surface *screen, struct SelectionneNonSelectionne sel)
, которая возвращает void
Это .h
функции, которую я пытаюсь вызвать:
struct SelectionneNonSelectionne;
void characterSelection(SDL_Surface *screen, struct SelectionneNonSelectionne);
void resetSelection(SDL_Surface *screen, struct SelectionneNonSelectionne);
В моей основной функции я пытаюсь называть ее следующим образом:
characterSelection(screen, SelectionneNonSelectionne);
Когда я компилирую, у меня есть сообщение:
error: expected primary-expression before ')' token
Я сделал includes
. Полагаю, я не согласен со вторым аргументом, мой struct
. Но я не могу найти, почему в сети.
У вас есть представление о том, что я сделал неправильно?
Ответы
Ответ 1
Вы должны создать переменную типа SelectionneNonSelectionne.
struct SelectionneNonSelectionne var;
После этого передайте эту переменную функции, подобной
characterSelection(screen, var);
Ошибка вызвана тем, что вы передаете имя типа SelectionneNonSelectionne
Ответ 2
Вызов функции должен выполняться с объектами. Вы делаете эквивалент этого:
// function declaration/definition
void foo(int) {}
// function call
foo(int); // wat!??
то есть. передавая тип, где требуется объект. Это не имеет смысла в C или С++. Вам нужно делать
int i = 42;
foo(i);
или
foo(42);
Ответ 3
Вы передаете тип как аргумент, а не объект. Вам нужно сделать characterSelection(screen, test);
, где тест имеет тип SelectionneNonSelectionne
.
Ответ 4
ключи байтов = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, '#', A, B, C, D};