C++ --- 编译时,标准库报错- 类似:expected unqualified-id before ‘.’ token//(struct)

场景:编译一个项目A,A从开源库中提取了很多代码。

问题:Windows下使用Visual Studio编译项目时,正常通过。但是使用MingW编译时提示 错误 : expected unqualified-id before ‘.’ token//(struct),然后这个错误是指向的stl标准库。

原因:当出现此类错误时,是自己项目中的某些变量或者宏与标准库中的重名了。项目A中为了偷懒,少些命名空间,就直接在头文件中using namespace xxx;。导致了重名问题。最后取消直接using namespace,手动在变量前加上命名空间。

visual studio能编译过,但是mingw不能编译通过是因为两边使用的库不同。

类似问题:

Windef.h中的min/max与std::min/std::max重名。

参考:https://blog.csdn.net/qq_17291647/article/details/104230809

 

posted on 2022-11-24 17:40  林西索  阅读(1507)  评论(0编辑  收藏  举报