Макросы
От: st0nx  
Дата: 05.06.11 09:30
Оценка:
Есть вот такой вот макрос:

#include <iostream>

#define r(a,i) a[i]+0x1
#define dec(i) i-1
#define mac(a,i) (i == 0 ? #a : \
                       (a[i]=r(a,i))?\
                   (i=dec(i)?\
                    mac(a,i)\
                    :0)\
                    :0)



using namespace std;

int main()
{
    char asd[] = "asdf";
    int i = 3;
    cout << mac(asd,i) << endl;
    return 0;
}


при компиляции выдает это:

/pj/macros/main.cpp||In function ‘int main()’:|
/pj/macros/main.cpp|20|error: ‘mac’ was not declared in this scope|
||=== Build finished: 1 errors, 0 warnings ===|


Как это победить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.