error C2332: 'enum' : missing tag name


環境;win7 32,vs2013
コード:
#include <iostream>
using namespace std;

namespace MYSPACE{
	enum class choice
	{
		rock,
		paper,
		scissors
	};
}
typedef MYSPACE::choice Mchoice;

int main()
{
	Mchoice c = Mchoice::rock;
	return 0;
}

エラー:
1>d:\hbj\test\test0505\test0505\t.cpp(5): error C2332: 'enum' : missing tag name 1>d:\hbj\test\test0505\test0505\t.cpp(6): error C2236: unexpected 'class' 'MYSPACE::choice'. Did you forget a ';'? 1>d:\hbj\test\test0505\test0505\t.cpp(6): error C3381: 'MYSPACE::choice' : assembly access specifiers are only available in code compiled with a/clr option 1>d:\hbj\test\test0505\test0505\t.cpp(7): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>d:\hbj\test\test0505\test0505\t.cpp(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>d:\hbj\test\test0505\test0505\t.cpp(10): error C2143: syntax error : missing ';' before '}' 1>d:\hbj\test\test0505\test0505\t.cpp(10): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>d:\hbj\test\test0505\test0505\t.cpp(18): error C2039: 'rock' : is not a member of 'MYSPACE::choice' 1>          d:\hbj\test\test0505\test0505\t.cpp(6) : see declaration of 'MYSPACE::choice' 1>d:\hbj\test\test0505\test0505\t.cpp(18): error C2065: 'rock' : undeclared identifier
理由:vs 2013はvs 2010ライブラリを使用していますが、vs 2010はc++0 xの新しい強いタイプenum classをサポートしていません.
解決:vs 2013プロジェクト属性でGeneral->Platform Toolset、Visual Studio 2013-Windows XP(v 120_xp)またはVisual Studio 2013を選択
参照先:http://blog.csdn.net/zhanglei5415/article/details/1588258
http://zhidao.baidu.com/link?url=OTbxL2KFkfdunxC1dspL7dsa31zKQbHz-_kj6ZaB8O6TDhbpRmUyUqGUTV_DVr8pGS3msaXxxCg9i1aqXguMLd_i7YGP-XZEy62ELU2Utwm
http://blog.csdn.net/u012333003/article/details/20612267?utm_source=tuicool
http://www.cnblogs.com/tekkaman/p/3500904.html
http://www.xuebuyuan.com/1390932.html
http://blog.jobbole.com/44015/