ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
285657 Топик полностью
fk0, легенда (22.11.2011 21:34 - 21:37, просмотров: 190) ответил fk0 на enum в C не работает, ещё раз C++. В C можно структуры передавать (вместо enum) или юнионы (внутри которых засунуть enum'ы). Если это всё обернуть в typedef'ы, то сходу даже и не заметишь (декларировать неудобно).
Вообще в нормальных ЯВУ есть именованные аргументы... В поделках финских студентов тоже можно, но через ()():  #include <stdio.h> struct s { int a; char b; float c; }; void _func(struct s s) { printf("a=%d, b=%u, c=%f\n", s.a, (unsigned)s.b&0xff, (double)s.c); } #define func(...) _func((struct s){__VA_ARGS__}) int main() { /* struct s x = { 0, 0, 0 }; */ func( .a=5, .b=3 ); return 0; }
[ZX]