gpt4 book ai didi

C头文件包含错误

转载 作者:行者123 更新时间:2023-12-02 06:43:30 26 4
gpt4 key购买 nike

希望这是一个简单的问题...这是我重现此问题的过程。首先我创建我的源文件:

bash $ cat t.c
#include "t.h"

int main()
{
ABC abc;
}

然后我创建相应的头文件:

bash $ cat t.h
#ifdef _T_H
#define _T_H

#ifdef __cplusplus
extern "C" {
#endif

typedef struct abc {
int a;
} ABC;

#ifdef __cplusplus
}
#endif

#endif

然后,我尝试编译它:

bash $ gcc -o t t.c
t.c: In function ‘main’:
t.c:5: error: ‘ABC’ undeclared (first use in this function)
t.c:5: error: (Each undeclared identifier is reported only once
t.c:5: error: for each function it appears in.)
t.c:5: error: expected ‘;’ before ‘abc’

这是怎么回事?如果我使用“struct abc”而不是“ABC”作为 t.c 中的类型,那么它会编译。为什么 typedef 不起作用?

最佳答案

尝试:

#ifndef _T_H
#define _T_H

我碰巧注意到了这一点,因为 _T_H 没有对齐,而我的潜意识知道它应该对齐。

关于C头文件包含错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414963/

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