0

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

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

我无法获得显示我可以对对象执行的所有功能的框。

我的 .h 中有这个:

    vector<DrawObject> objects;

在我的 .cpp (.h 文件)中,这样做不会显示任何内容:

    objects.

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

4

1 回答 1

1

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

C++ 的代码完成很难,因为 IDE 本质上需要编译整个(可能不完整和错误的)代码。无论如何,C++ 都很难解析,更不用说必须关心不完整代码的连续后台编译。

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

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

于 2013-01-05T19:28:32.630 回答