неожиданный тип' - PullRequest
       1

неожиданный тип'

2 голосов
/ 05 июля 2011

Я конвертирую программу на C-коде в Unicode Visual Studio 2008 на Windows 7 64 это ОС. Я успешно преобразовал все функции не в Юникоде в Юникод. Но только получая ошибку компилятора в некоторых функциях на основе c-кода, как указано ниже:

struct ref_pages *rfl_scan_ref_list( short mode, short class, short element, _TCHAR **refdata )

В приведенной выше функции класс определяется как переменный параметр. Когда мы будем конвертировать эту функцию в Unicode, говоря:

error C2226: syntax error : unexpected type '<unnamed-tag>'
'class' : missing tag name

У кого-нибудь есть идеи?

Ответы [ 4 ]

5 голосов
/ 05 июля 2011

Вы не можете использовать "класс" в качестве имени переменной.Вы используете компилятор c ++, а "class" является зарезервированным ключевым словом.

1 голос
/ 05 июля 2011

Как уже указывали другие, вы используете компилятор C ++, а class является зарезервированным ключевым словом в C ++. Чтобы заставить VS2008 выступать в качестве компилятора C, щелкните правой кнопкой мыши имя своего проекта и выберите Свойства . Затем перейдите к Свойства конфигурации -> C / C ++ -> Advanced , а затем измените параметр Compile As на Compile as Код C .

1 голос
/ 05 июля 2011

В опубликованных вами строках нет ошибок.

Очевидно, вы не используете компилятор C для своего кода C. Почему? Использовать компилятор C для кода C; компилятор Pascal для кода Pascal; компилятор Lisp для кода Lisp; и т.д ...

Я считаю, что Visual Studio имеет возможность сделать его компилятором Си. Вам нужно найти эту опцию и установить ее.

0 голосов
/ 05 июля 2011

class - зарезервированное ключевое слово в C ++.Вы должны использовать другое имя переменной.

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