assuming extern returning int怎么解决
时间: 2024-10-10 22:14:56 浏览: 65
Allegro使用报错Zero radius arc问题解决
3星 · 编辑精心推荐
在C语言中,`extern`关键字通常用于声明而不是定义函数,当你在一个文件中声明了一个函数,并希望其他文件能够访问它,你会在需要使用该函数的文件中使用`extern`来声明,而在包含函数定义的文件中使用`int`加上函数名来定义。
例如:
```c
// 文件foo.h
extern int myFunction();
// 文件foo.c (包含函数定义)
int myFunction() {
// 函数体...
return some_value;
}
// 文件main.c (使用函数)
#include "foo.h"
int main() {
int result = myFunction(); // 此处会链接到foo.c中的myFunction定义
// ...
}
```
这里的关键在于`extern`告诉编译器函数`myFunction`在别的地方定义,但在实际调用之前,不需要看到它的实现。如果你在试图返回`int`但忘记提供定义,编译器会在找不到函数实现时报错。所以,确保你在正确的地方包含了函数的定义,并且函数返回类型匹配预期。如果问题是关于函数无法正确返回`int`,那可能是因为函数内部缺少正确的返回语句或者类型错误。检查函数的实现是否正确无误即可解决问题。
阅读全文