【问题标题】:IDE doesn't recognize the methodIDE 无法识别该方法
【发布时间】:2015-09-02 06:18:56
【问题描述】:

我正在尝试访问 City 类中的 cityMethod()。

class City
{
    void cityMethod() { }
}

所以,我愿意:

map<string,City> mymap;
City c;
mymap["Madrid"] = c;

现在,当我这样做时:

mymap["Madrid"].cityMethod();

好的,它有效。但是 IDE(Qt) 无法识别“cityMethod”。 难道我做错了什么?是编译器的问题吗?

【问题讨论】:

  • 从技术上讲(和吹毛求疵),IDE 不是 Qt,而是 QtCreator。而且您的问题与编译器无关,而是显然无法处理此类数据类型的IDE。

标签: c++ dictionary hash qt-creator code-completion


【解决方案1】:

Qt Creator 似乎不支持此功能。在http://bugreports.qt.io/ 上有一个公开的issue

但在使用ClangCodeModel 插件时它确实有效。要使用它,请转到帮助 > 关于插件并在此处激活插件:

然后,在选项中启用它的使用。工具 > 选项 > C++ > 代码模型

您可能会遇到使用 Clang 代码模型的性能问题,但它确实有效:

【讨论】:

  • 我按照你说的做了一切并重新启动了 IDE,但没有解决。
  • 也许您正在编辑的文件是一个标题?尝试将所有内容都切换到 Clang,而不仅仅是屏幕截图中的 C++
  • 不,它不是标题。我正在编辑主要内容。我将所有内容都更改为 Clang 并没有再次解决。你有其他想法吗?
  • 我没有,抱歉。您可以通过在About Plugins 对话框中查找插件旁边的绿色复选标记来检查插件是否正确加载。但另一方面,如果加载失败,您可能无法在选项中选择它。
  • 无论如何,我很感激你的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
相关资源
最近更新 更多