编辑:解决方案:重新声明“使用命名空间标准”;在.cpp文件中!

我正在使用Code :: Blocks,但我无法获得矢量对象来向我展示它在声明它的标头之外的可用功能!

我无法看到显示我可以对该对象执行的所有功能的框。

我的.h中有这个:

    vector<DrawObject> objects;


在我的.cpp(.h文件的)中,执行此操作不会显示任何内容:

    objects.


如果我做对象。在.cpp上,它将显示应有的一切。
它会起作用,并且只是一个小麻烦,但是拥有它会很方便。

最佳答案

这是设计使然,我怀疑您无能为力。

C ++的代码完成非常困难,因为IDE本质上需要编译整个(可能是不完整和错误的)代码。无论如何,C ++都很难解析,不必担心必须对不完整代码进行连续后台编译。

结果,大多数IDE(包括Code :: Blocks)实际上并没有实现完整的解析器,而只是实现了一个非常基本的子集,并且代码完成是非常原始的。

这种情况将来可能会改变,因为现在有一个功能强大且相当有效的解决方案,称为libclang。但是直到对Code :: Blocks进行修补以在内部使用它之前,这种行为仍将持续。

08-26 16:14
查看更多