c++ - Visual Studio 19 C++ 命名空间问题(没有成员错误)
问题描述
我在我的 C++ 项目中使用 VS19(在 Win 10 上),突然每个命名空间引用都带有下划线Namespace X has no member Y
。行为非常不一致:
- 我的命名空间内的 std 引用在它们前面添加了我的命名空间,因此例如 std::vector 实际上正在寻找
MyNamespace::std::vector
(我可以在前面使用额外的 :: 来减轻这种情况,但不能解决其他地方的不正确引用 + 这显然是不必要的正常情况) - 在我的命名空间之外对我的命名空间的引用没有找到被引用的类,但是如果我在它前面再添加一次命名空间名称,它会找到它(例如。
MyNamespace::Mynamespace::MyClass
) - 命名空间中的一些引用类甚至被视为类,我可以单击并进入该类,但无论如何它都带有错误下划线
- 我在多种情况下遇到一堆错误类型的问题,从我的自定义命名空间中引用实例化的类(但奇怪的是不是每次都如此)
我试图(根据 Stack 和互联网上的各种建议):
- 撤消似乎触发它的代码更改。
- 重启VS。
- 清理并重建解决方案。
- 删除 ipch 文件夹以及 .suo。
最奇怪的是它刚刚发生,但又不是第一次 VS 没有任何充分理由就火腿。
解决方案
推荐阅读
- reporting-services - SSRS % 计算返回为负数,除非使用 *-1
- vue.js - 调用函数后访问计算?
- html - htaccess url 和子文件夹
- c# - 指定的强制转换无效 WPF、IValueCONverter、C# - 对象加倍
- r - R:是否可以仅从栅格图层的非 NA 区域中采样随机点?
- jquery - 是否需要清理用户控制的 CSS 选择器?
- javascript - webpack babel css @非法token
- ngrx - 发生错误时如何停止完成对ngrx效果的操作
- javascript - 创建一个将文本转换为 Json 文件的网站
- python - Scrapy 不会使用标准文件管道下载文件