问题现象:
今天早上在给同事讲代码时,打开工程,发现之前可以编译的工程,在未修改代码,未修改SDK的情况下,无法编译。并且提示如下:
C2429:语言功能"嵌套命名空间定义"需要编译器标志"/std:c++latest"。
问题原因:
在各种百度,各种查,各种问后,发现这个提示是说代码中出现了“嵌套命名空间”,这个功能只有C++17之后支持,而你的C++标准不支持,需要使用新的标准。
网上说的都是在VS2019中设置一下C++17标准,而我使用的是QtCreator。我可以确认的是我现在工程中使用的就是C++17标准。
问题处理:
工程使用的是C++17,但是还提示,我把工程目录下的.user文件全部删除后,再重新生成工程,编译通过了!神奇呀。
搜索
复制
<iframe></iframe> 标签:std,Qt,17,C2429,C++,嵌套,编译器 From: https://www.cnblogs.com/FKdelphi/p/16657835.html