C函数调用奇怪错误

标签 c function compiler-errors

我试图在 main 中为不同的程序(Q2-3 和 Q4)调用一个函数,但在编译过程中遇到错误。我主要有 程序1(); [它说“prog1 的先前隐式声明在这里”] 那么最后有一个同名的函数 无效 prog1() { [它说“prog1 的类型冲突”] 是的,它只是在一行中唯一说的是 {

[] 只是我在这里输入的内容,而不是我的代码中的内容。如果您需要我的代码的更多部分,请告诉我。我的程序是用 C 编写的,而不是 C++

最佳答案

因为您没有给出 prog1() 的原型(prototype)。

如果它具有例如以下签名

char *prog1(void);

并且您不提供原型(prototype),而是从 main() 调用它,然后您稍后使用提到的签名定义它,隐式声明的原型(prototype)是 int prog1() 与定义冲突。

只需在main()之前添加一个原型(prototype)即可。

关于C函数调用奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32812987/

相关文章:

c - 为什么我们不能在 Linux 中通过 system() 系统调用更改目录?

java - C 内存泄漏与 packetsender 套接字

excel - 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

c++ - 无法使用对类型键设置映射值

c++ - 在 Qt 中使用 += 运算符时出错

python-3.x - AttributeError : module 'tkinter' has no attribute 'TclError' ?的原因是什么

c++ - sscanf 拒绝整数读取中的前导零

c++ - C/C++ 交互式解释器

c - c中的所有函数都是全局定义的,那么为什么我们需要将它们作为参数传递给函数呢?

JavaScript 将函数分配给对象属性