我的代码是
void doc(){
//mycode
return;
}
Run Code Online (Sandbox Code Playgroud)
我的警告是
conflicting types for 'doc'
Run Code Online (Sandbox Code Playgroud)
任何人都可以解决它.
Alo*_*hal 27
在C中,如果在调用函数时没有函数原型,则假定它返回一个int并且取一个未指定数量的参数.然后,当您稍后将函数定义为返回void并且不带参数时,编译器将此视为冲突.
根据代码的复杂程度,您可以执行一些简单的操作,例如在使用函数之前移动函数的定义,或者在头文件中添加函数声明并包含它.
在任何情况下,净效果应该是在使用之前使函数原型可用.
如果你添加
void doc(void);
Run Code Online (Sandbox Code Playgroud)
在使用函数之前,您将在范围内看到原型,并且您的警告将消失.
我认为这是你警告的最可能原因.您可能doc在代码中有明确的不兼容声明,但我们无法分辨,因为您尚未发布完整代码.
你已经用一些其他类型/签名声明了它,并用一些其他类型/签名定义了它。
喜欢
int doc();
void doc()
{
}
Run Code Online (Sandbox Code Playgroud)
会给你这个警告。
这显然不是你的完整代码。
但是,该错误意味着存在另一个声明doc(可能是全局变量?头文件中的某些内容?),它不是void不带参数的函数。
| 归档时间: |
|
| 查看次数: |
39413 次 |
| 最近记录: |