Qt Creator无法解析STL容器

时间:2014-12-16 12:58:59

标签: c++ qt qt-creator stdvector

我已经下载了适用于Windows的Qt 5.4,在Windows 8.1 Pro中运行它。它配备了MingW和Qt Creator 3.3。

我已经使用Qt几年了。 Qt Creator IDE中似乎缺少一个非常必要的组件。假设使用函数Card

定义了类getSymbol()
class Card
{
public:
    string getSymbol() const;
}

代码中的某个地方我std::vector的{​​{1}}:

Card

代码中的其他地方:

vector<Card> playable;

当我在上面的行中键入句点时,Qt Creator应列出要使用的playable[0].getSymbol(); ^----------------- Note this dot 类的可用函数和变量,就像IntelliSense在VS中一样。但这不会发生。但是,当我创建类型为Card的对象时,点会触发Qt Creator显示可用的函数:

enter image description here

为什么在将Card个对象放入STL容器时此功能不起作用?是否需要启用任何设置?

1 个答案:

答案 0 :(得分:2)

这是一个长期讨论的问题,并在论坛和邮件列表上再次询问。正如thuga在评论中正确显示的那样,这是要监控的相应错误报告:

Code completion does not work for std::vector of objects

请注意,QtCreator主要用于处理Qt代码,因此您可以在正在运行的此类项目中使用QVector。我并不是说不值得修理,但这至少就是历史。

这可能越来越接近在QtCreator中使用clang,但我想你需要等待。