ошибка: «Mystruct» не объявлено (первое использование в этой функции) - PullRequest
2 голосов
/ 14 февраля 2011

Я не могу отсортировать ошибку времени компиляции. Я собираю проект C. В моем файле main.c есть #include, в котором он может определить определение структуры, которую я использую для своего проекта. Дело в том, что каждый раз, когда я пытаюсь скомпилировать свой код, у меня появляется ошибка

struct Mystruct* ps = (struct Mystruct* )malloc( sizeof(Mystruct) ); // I have this
// error at compile time

error: 'Mystruct' undeclared (first use in this function)

Как это может быть, почему компилятор не может прочитать определение структуры? Включаемые папки установлены правильно

Спасибо

1 Ответ

18 голосов
/ 14 февраля 2011

Похоже, вам нужно либо использовать sizeof(struct Mystruct) в своем выражении, либо использовать typedef struct Mystruct Mystruct где-нибудь. В Си структуры имеют свое собственное пространство имен.

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