繁体   English   中英

C使用包含在文件中的变量

[英]C Use variable defined in file being included from

我目前正在谷歌上搜索,但是我不知道该怎么写。 我怀疑有人会指出一个重复的问题。 但是...如果我有这样的文件

parent.h:

...
include "child.h";
int foo;
...

以及下面的源文件,该文件在上面通过其头文件进行调用:

child.c:

int display ()
{
    printf ( "%d\n", foo );
}

现在,这是一个简化的示例,当前我正在使用C ++,并且正在创建一个对象,并且该对象调用另一个对象的方法,例如在父文件中声明的foo。 自然,我得到以下错误:

error: ‘foo’ was not declared in this scope

有什么方法可以解决这个范围问题,还是必须将foo作为参数传递给我?

我相信您正在寻找外部人

编辑:

添加一些初始链接

通常,变量存在于源文件中...

parent.c

int foo = 0;

...并且在头文件中被extern ...

parent.h

extern int foo;

这样, parent.h #includeparent.hextern foo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM