Ошибка компилятора в C: ожидается ')' перед маркером '*' - PullRequest
3 голосов
/ 06 августа 2010

Как видно из заголовка, продолжайте получать эту ошибку при попытке компиляции.От Googling эта ошибка, люди сказали, что она не объявлена ​​в заголовочном файле, но моя функция статична и отсутствует в заголовочном файле, я ее прототипировал.

Ответы [ 5 ]

17 голосов
/ 06 августа 2010

структура cardinfo все еще не определена в строке с ошибкой. Поставьте предварительную декларацию перед ней:

struct cardinfo;
static int cardinit(struct cardinfo *card);
8 голосов
/ 06 августа 2010

Эта строка кода:

static int cardinit(cardinfo *card);  

должна быть добавлена ​​после определения вашей структуры cardinfo.

4 голосов
/ 06 августа 2010

Вам нужно поставить строку

static int cardinit(cardinfo *card);

после определения структуры cardinfo.

1 голос
/ 06 августа 2010

В этой строке компилятор еще не знает, что cardinfo является структурой.За ним следует строка struct cardinfo;

0 голосов
/ 06 августа 2010

Вы объявили функцию, у которой есть входная переменная типа, который компилятор не знает, когда анализирует ее. т.е. определение структуры следует за объявлением вашей функции. Поэтому, пожалуйста, сделайте предварительное объявление структуры, когда вы хотите скомпилировать такой код.

В компьютерном программировании предварительная декларация - это декларация идентификатора (обозначающего объект, такой как тип, переменная или функция), для которой программист еще не дал полного определения.

Эта ссылка содержит хорошую статью, когда полные объявления не требуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...