LINUX.ORG.RU

ошибка request for member ‘f’ in something not a structure or union.

 


0

1

есть структура

struct bo {
 unsigned int f:1;
}b;
#define n b.f

В функции main проверки с переменной 'n' работает нормально.
А как только в другой функции хочу использовать, пишет при компиляции.

request for member ‘f’ in something not a structure or union
 #define n b.f
main.c:1088:8: note: in expansion of macro ‘n’
   if (!n )if ( p.c <= 0 ) gr ();

Я бы сказал, что в «другой функции» у тебя уже есть локальная переменная с именем b.

Судя по однобуквенным именам, тренируешься на IOCCC?

tailgunner ★★★★★
()
Ответ на: комментарий от timdorohin

Да, объявление в начале файла. Первое значение присвоено в main функции.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от tailgunner

Нет. В коде нормальные названия. Это чтобы никто не догадался что я пишу. Насчёт переменной, точно. Сменил название в структуре и заработало. точно, define же только замещает код а не указывает на переменную.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Нет. В коде нормальные названия. Это чтобы никто не догадался что я пишу.

Да и вообще, чтобы конкретные имена просто не отвлекали. И для этого есть такие общепринятые имена как foo, bar.

gag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.