Код:
int main(void)
{
auto a=1;
return 0;
}
скомпилируется без ошибок компилятором MS Visual Studio 2012, когда файл имеет расширение .c. Я всегда думал, что при использовании расширения .c компиляция должна соответствовать синтаксису C, а не С++. Более того, насколько я знаю, авто без типа допускается только в С++ с С++ 11, где это означает, что тип выводится из инициализатора.
Означает ли это, что мой компилятор не придерживается C, или это действительно правильный код на C-языке?