Рассмотрим этот код:
typedef enum Type1
{
val11,
val12
} Type1;
typedef enum Type2
{
val21,
val22
} Type2;
Type1 type1 = val11;
if ( type1 == val22 )
std::cout << "foo";
Visual Studio 2015 не выдает никаких предупреждений (даже с параметром /Wall). Однако type1
и val22
не одного типа. Это нормально или это ошибка Visual Studio?