【问题标题】:Visual Studio 2015 IntelliSense error but solution compilesVisual Studio 2015 IntelliSense 错误,但解决方案编译
【发布时间】:2018-05-10 00:01:57
【问题描述】:

我知道已经有a thread like this,但我已经尝试了所有建议的内容,错误仍然显示在编辑器中,但解决方案编译正常。我的问题可能有点不同。

我有一个名为getCurrentTime 的同名函数,在两个单独的文件中定义并继承到不同的类。这是它的外观:

NetworkClientState 使用来自NetworkClient 基类的getCurrentTimeGameClient 以及 LinearPredictionQuadraticPrediction 都在 Prediction 基类中使用 getCurrentTime 定义。

Intellisense 坚持使用下划线 Prediction::getCurrentTime,但程序会编译并运行。虽然如果我去掉using NetworkClient::getCurrentTime,它会说getCurrentTime 是模棱两可的。 我能做些什么来摆脱这个 Intellisense 错误?

【问题讨论】:

  • 这显然是 IntelliSense 中的一个错误。唯一的解决方案是忽略它或升级您的 IDE(Visual Studio 2017 已经可用很长时间了)。也就是说,如果问题在最新的 IDE 版本中仍然存在,您应该创建一个minimal reproducible example,然后通过适当的渠道报告。
  • 请记住 IntelliSense 是一个单独的编译器,它针对速度而非准确性进行了优化。它会有误报。
  • 您为什么使用预测?你不是从中派生出来的。
  • 为什么 getCurrentTime 是任何类的成员?顾名思义,它应该是一个免费功能。
  • 感谢大家的cmets!我会试试 VS2017 看看会发生什么。干杯!

标签: c++ visual-studio intellisense


【解决方案1】:

我已经设法通过将Prediction::getCurrentTime 弹出到.cpp 文件中然后从头文件中删除声明来解决它。错误可能是由于多重继承而弹出的。

【讨论】:

    猜你喜欢
    • 2015-11-03
    • 2016-01-18
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 2015-10-10
    相关资源
    最近更新 更多