expected identifier before string constant

Модератор: Модераторы разделов

Аватара пользователя
Evgenuych96
Сообщения: 15
ОС: Debian 6.03

expected identifier before string constant

Сообщение Evgenuych96 »

Здравствуйте!
Есть макрос
#define initpwin(up,down,left,right,lu,ru,ld,rd,shadow_color,win_color)\
win.up=up;\
win.down=down;\
win.left=left;\
win.right=right;\
win.lu=lu;\
win.ru=ru;\
win.ld=ld;\
win.rd=rd;\
win.shcolor=shadow_color;\
win.color=win_color;

Где win.<имя> является символьной ссылкой, а передаваемые значения символьными массивами.
Инициализируется он следующим образом
initpwin("─","─","│","│","┌","┐","└","┘",DEFAULT,WINC)
Но при компиляции через GCC он выдает expected identifier before string constant
Как это исправить?
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4417
Статус: GNU generation
ОС: Debian GNU/Linux

Re: expected identifier before string constant

Сообщение Rootlexx »

Это из-за одинаковых имён членов структуры и параметров макроса. Компилятор не знает, вместо какой последовательности символов вставлять аргумент. Просто переименуйте параметры макроса.
Спасибо сказали:

Аватара пользователя
Evgenuych96
Сообщения: 15
ОС: Debian 6.03

Re: expected identifier before string constant

Сообщение Evgenuych96 »

Спасибо.
Спасибо сказали: