gpt4 book ai didi

c++ - #include inside 函数体不起作用 (CDT/Eclipse C++)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:43:49 26 4
gpt4 key购买 nike

此问题涉及在 Eclipse 4.2.2 (Juno) 中使用 CDT 8.1.2 管理的 C++ 项目。下面的代码片段可以编译,但在 Eclipse 中会显示为有错误。

我有一个名为 foo.h 的文件,内容如下:

int a = 42;

此文件包含在另一个文件 foo.cpp 中:

#include <cstdio>

int main() {
#include "foo.h"
printf("%d", a);
return 0;
}

如何修复“符号‘a’无法解析”?据我了解,main() 函数内的#include 语句应该触发单纯的复制粘贴操作在预处理器中。 CDT 似乎已正确索引该文件,因为我可以按住 CTRL 键并单击文件名“foo.h”,然后在 IDE 中打开该文件。有趣的是,如果我移动 #include "foo.h" #include <cstdio> 下方的声明声明,它按预期工作。 CDT 中是否有任何选项可以在解析符号之前执行预处理?
旁注:我知道这种代码设计不受欢迎,但是我需要导入其他人编写的代码,并且需要正确设置内容辅助才能提高工作效率。

最佳答案

看起来 Eclipse 中的代码分析器存在许多已知问题。参见例如这个问题 Turn off eclipse errors (that arent really errors)关于如何禁用部分或全部错误消息。不确定该“解决方案”是否适合您,但据我了解,它不应影响代码索引器的其他方面。

关于c++ - #include inside 函数体不起作用 (CDT/Eclipse C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004643/

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