Запуск следующего кодаопределяется (переменная), не оценивается корректно MSVC?
#include <iostream>
#define FOO
#define BAR defined(FOO)
int main() {
#if BAR
std::cout << "BAR enabled!" << std::endl;
#else
std::cout << "BAR disabled!" << std::endl;
#endif
return 0;
}
в Visual StudioBar disabled!
дисплеях, в то время как работает один и тот же код в gcc или clang дисплеях Bar enabled!
.
Это ошибка в компиляторе Microsoft? Что правильно в соответствии со стандартом?