previous implicit declaration of ‘***’ was here是什么意思
时间: 2023-11-14 18:39:16 浏览: 389
"previous implicit declaration of ‘***’ was here" 这个错误信息通常是在编译C或C++代码时出现的。它表示在当前代码文件中,已经有一个函数或变量被隐式地声明过了,然后又在后面的代码中被显式地使用了,但是编译器并没有找到这个函数或变量的真正定义(即没有找到函数或变量的实现代码)。这通常是因为在代码文件中没有包含相应的头文件或者没有正确地链接所需要的库文件。解决方法是要么在代码文件中包含正确的头文件,要么在编译选项中添加所需要的库文件。
相关问题
previous implicit declaration of 'Print' was here
这是一个编译器警告,表示在使用Print函数之前没有进行函数声明。在C语言中,如果要使用一个函数,必须先进行函数声明。可以在代码中加上函数声明,或者将函数定义放在调用它的代码之前。例如:
```
#include <stdio.h>
void Print(); // 函数声明
int main() {
Print(); // 调用Print函数
return 0;
}
void Print() { // 函数定义
printf("Hello, world!\n");
}
```
52 3 C:\Users\28468\Desktop\图.c [Note] previous implicit declaration of 'DFSM' was here
这个提示是因为你在调用函数 `DFSM` 之前没有声明该函数,所以编译器默认它的返回值类型为 `int`,参数也为 `int` 类型。在后面的代码中再次定义 `DFSM` 函数并且返回值类型或者参数类型与之前不同,就会出现这个警告。
解决这个问题的方法是在调用 `DFSM` 函数之前先声明函数,或者将函数定义放在调用它的代码之前。可以在代码文件的开头加上函数声明:
```c
int DFSM(int x, int y);
```
或者将函数定义放在调用它的代码之前。
阅读全文