gpt4 book ai didi

c++ - Eclipse 无法解析用宏声明的字段

转载 作者:太空狗 更新时间:2023-10-29 21:46:28 25 4
gpt4 key购买 nike

我最近开始研究一个开源项目的代码,该项目主要是用 C++ 编写的。我在 Ubuntu 12.10 中使用 Eclipse 3.8。

问题:由于用于将字段声明与头文件分开的特别详细的约定,Eclipse 错误地将字段标记为未解析。

someclass.h

class SomeClass
{
public:
#define MACRO_CLASS_PARAM(Name) SomeType m_##Name;
#include "fields.h"
#undef MACRO_CLASS_PARAM
};

fields.h

MACRO_CLASS_PARAM(Field1)
MACRO_CLASS_PARAM(Field2)
...

现在在 cpp 文件中,如果我想执行类似 instanceOfSomeClass.Field1 的操作,Eclipse 会将其标记为“无法解析字段‘Field1’”的错误。

问题:有没有办法让 Eclipse 正确处理这种情况?

最佳答案

无法正确处理不在全局范围内的 #include 语句是一个 long-standing deficiency在 Eclipse 的索引器中。

你可以做的事情:

  • 修改您的代码以避免这种模式。一旦文本 header 包含模型被 C++ 模块取代,它无论如何都将无效。
  • 为 Eclipse CDT 提供此缺陷的修复程序。
  • 使用可以解析此模式的不同 IDE。 (我不知道有什么,但我也没有花很多时间去寻找。)

关于c++ - Eclipse 无法解析用宏声明的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com