gpt4 book ai didi

c - 如何避免C变量的多重定义?

转载 作者:行者123 更新时间:2023-11-30 19:47:51 25 4
gpt4 key购买 nike

我在 header 中声明并在源文件中使用的 C 变量的多个定义中遇到错误。

在我的头文件中,我有:

//Number of jobs in the job list
extern int numberOfJobs;

在我的源文件中,我在多个函数调用中使用了 numberOfJobs。

我的头文件顶部还有一个预处理指令。

#ifndef _JOBS_GROUP_H_
#define _JOBS_GROUP_H_

并以

结束
#endif

有人可以向我解释一下为什么会发生这种情况吗?我对 C 还很陌生。

最佳答案

我发现为什么我的外部变量出现多个定义错误/ undefined reference 错误。

首先导入“jobsgroup.h”并对我遇到的错误产生影响。使用引号导入时出现多个定义错误,但使用 <> 时出现 undefined reference 错误。如果文件位于同一目录中,则使用“”;如果文件位于包含文件夹中,则使用 <>。我的头文件位于包含文件夹中,因此在我的情况下使用 <> 更可取。

现在这个问题的真正解决方案是我认为通过在 init 函数中定义变量来定义 extern 变量。但是,要定义 extern 变量,您必须在源文件中的函数上方声明它,如下所示:

int numberOfJobs;

这解决了我所有的错误。谢谢你们试图帮助我。

关于c - 如何避免C变量的多重定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254839/

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