两段代码,不同的异常提示,门有关枚举类型的使用

两段代码,不同的错误提示,请教高手门有关枚举类型的使用
代码1:
C/C++ code

#include "stdafx.h"
#include <iostream>


int _tmain(int argc, _TCHAR* argv[])
{
    enum Week:char{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday};
    Week abc;
    abc=Monday;
    std::cout<<abc;
    return 0;


执行的时候提示:
错误 1 fatal error C1853: “Debug\TEST2.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)



代码2:
C/C++ code

#include "stdafx.h"
#include <iostream>

int _tmain(int argc, _TCHAR* argv[])
{
    enum Week:char{a,b,c,d,e} abc;
    abc=b;
    std::cout<<abc;
    return 0;
}


执行的时候提示:

错误 1 error C2593: “operator <<”不明确

请教各位专家我这是哪里错了?本人新手,刚开始学C++,为了实实在在学点知识,对每一个细学都想去了解,谢谢


------解决方案--------------------
enum xxxx:char 这是c++/cli 扩充的语法
把:char去掉就可编译了

------解决方案--------------------
第二个问题:std::cout << (char)abc;
------解决方案--------------------
第一个问题:清理解决方案,手动删除pch文件
------解决方案--------------------
探讨
enum xxxx:char 这是c++/cli 扩充的语法
把:char去掉就可编译了

------解决方案--------------------
探讨
是这样子的,我在看Visual C++的教程,书上说枚举类型的值默认是int型的,可以通这种方式转化为char或是别的类型