баг компилятора cl 16.00 ???
От: jyuyjiyuijyu  
Дата: 05.07.14 03:14
Оценка:
Всем привет

этот код


#define WTF() []() { \
    \
    printf("%d\n", __LINE__); \
    \
    } ()

int _tmain(int argc, _TCHAR* argv[])
{
    WTF();

    return 0;
}


в Release собирается хорошо а в Debug выдаёт

error C2065: '__LINE__Var' : undeclared identifier


включил генерацию файла после препроцессора и вижу там полностью корректный код

[]() { printf("%d\n", 14); } ();


а собираться не хочет...

если подставить тело макроса в функцию

int _tmain(int argc, _TCHAR* argv[])
{
    []() {
        printf("%d\n", __LINE__); 
    } ();

    return 0;
}


то все прекрасно собирается...

кто глючит?

и если это баг подскажите как получить значение макроса __LINE__ в лямбде внутри макроса...

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