Странные вещи в коде C / C ++ (ISO C ++ запрещает объявление «xxx» без типа) - PullRequest
0 голосов
/ 19 октября 2011

Я новичок в C / C ++, так что это может быть глупый вопрос, У меня есть следующая проблема, у меня есть метод в C ++ lib, который экспортируется с помощью extern 'C', и он вызывается другим методом из другого файла c. Итак, мне нужны были некоторые структуры в коде c ++, поэтому «умной» вещью, казалось, было просто добавить структуры в файл .h первого класса и импортировать его. Когда я это сделал, случилось самое странное. Код на C, который работал нормально, сломался, сказав три глупости (обратите внимание, что структуры были просто перемещены из кода в заголовок). Итак, у меня есть 3 экземпляра, ошибки чтения, говоря:

  1. Ожидается; до * токена;
  2. Iso C ++ запрещает объявление 'someclassname' без типа
  3. тип 'someclassname' не может быть разрешен

Есть идеи?

1 Ответ

2 голосов
/ 19 октября 2011

Компилятор считает, что "someclassname" является именем переменной. Вы написали что-то вроде

Employee* newguy = foo();

И компилятор считает, что вы дали имя необъявленной переменной, Employee, пожаловался на это, пожаловался, что * не идет после имени переменной, и так далее.

Посмотрите, где вы думаете, что объясняете, что такое "someclassname", потому что компилятор его не получает.

ps: оставьте свой код!

...