6
62316e
Почти все знают что с++ не умеет "Вложенные функции". Ну и почти все так же знают что нет такого чего с++ не умеет, почти.
Есть один недостаток, такую ф-ю можно определить только один раз в одном блоке. Этот недостаток можно исправить добавив ещё один аргумент в method.
Код:
#define method(RET_VALUE, ARGS ) class __TEMP_CLASS__ { public: RET_VALUE operator() (ARGS)
#define declare(NAME) } NAME
#define $ ,
int _tmain()
{
method(int, int a $ int b)
{
return a+b;
} declare(sum);
int c = sum(333, 333);
}
#undef $
Есть один недостаток, такую ф-ю можно определить только один раз в одном блоке. Этот недостаток можно исправить добавив ещё один аргумент в method.