'MotorCtr1' undefined; assuming 'extern int MotorCtr1()'
时间: 2024-01-19 17:03:19 浏览: 121
This error message is a compiler warning that the function 'MotorCtr1' has not been defined in the current program file, and it assumes that it is declared as an external function that is defined elsewhere.
The warning suggests that the function is expected to return an integer value, and it takes no arguments.
To resolve this warning, you need to either define the 'MotorCtr1' function in the current file or include a header file that contains its definition. Alternatively, if the function is defined in another file, you need to ensure that the file is linked properly during the build process.
相关问题
'pritnf' undefined; assuming extern returning int
这是一个常见的错误信息,意味着在程序中有一个名为'printf'的函数未被正确声明或定义。通常是因为程序中没有包含<stdio.h>头文件或者函数声明语法错误导致的。您需要根据具体情况进行修改来解决这个问题。
assuming extern returning int怎么解决
在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`,那可能是因为函数内部缺少正确的返回语句或者类型错误。检查函数的实现是否正确无误即可解决问题。
阅读全文