我试图在 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/