vs解决报错:C++ qualified name is not allowed(E0283)

我们看,把在GCC下编译过关的c++程序放在vs下却不能过:(仅给出部分代码,其他以此类推)
vs解决报错:C++ qualified name is not allowed(E0283)_第1张图片
先不要慌着改,看下详细信息.
vs解决报错:C++ qualified name is not allowed(E0283)_第2张图片
看上去都是语法错误,但这真的没任何语法错误啊!百度上查找下,报错信息都不一样,别人是类里面多加限定符,我这是正常语法.把网络上搜集来的方法都用了一遍,都没用.

细加思考,为什么一个编译器能运行,另一个不行?会不会是标准的原因?考虑到曾今在vs的标准选择界面看到过这样一句话:
vs解决报错:C++ qualified name is not allowed(E0283)_第3张图片
“建议用最新版在可能的情况下”

那我们可以猜测是ISOC++标准导致namespace xx::xx{}语法不可用,而且那么多语法错误应该出自于此.改成latest试试

报错消失.证明在切换编译器的时候最好把c++标准设到最高版本,即使有更多安全警告,也不是什么坏事,并且能让程序更安全.

你可能感兴趣的:(学习笔记,c++,开发语言,后端,visual,studio,编译器)