IntelliSense在源文件中找不到定义的方法

时间:2019-01-18 13:40:26

标签: c++ qt intellisense

我在Visual Studio中有一个c ++项目,只有一个类,IntelliSense无法解析头文件中的几个声明的方法。因此,当我尝试单击“转到定义”时,IntelliSense不会打开源文件,因为他找不到方法的定义。

我已经尝试添加一个cpp.hint文件,并声明这些方法中使用的宏。在其他课程中,这有助于解决问题,但不适用于该课程。每次ipch文件夹和*.db文件时,我也都删除了。

我已经发现,IntelliSense能够解析在公共/受保护/私有说明符之后声明的第一个方法:
methods found by intelliSense

因此,切换顺序有助于IntelliSense进行查找... methods found by intelliSense

一个BAD解决方案是为每种方法添加公共/受保护/私有说明符,但是您可以想象,我不想这样做。我也在使用Qt5,但我认为这不是问题所在。我也认为问题不在于定义的代码,因为这无关紧要,哪种方法排在说明符之后。
是否有人已经偶然发现这种问题并知道如何解决?

感谢您的所有建议。

编辑:这绝对是Qt问题,当我注释掉类中的Q_OBJECT定义时,IntelliSense可以找到所有方法。不幸的是,没有它我无法编译我的代码。

1 个答案:

答案 0 :(得分:0)

所以我能够“解决”问题。
我不知道为什么会这样,或者为什么我的“解决方案”解决了这个问题。
我在构造函数之前临时添加了一种调试方法,该方法定义为第一种方法。该方法的定义也在头文件中。
当我在构造函数下切换此方法时,IntelliSense再次开始在此类中工作。 Qt和IntelliSense一起工作似乎是一个错误。

旧:
enter image description here

新功能:
enter image description here