警告:初始化时将整数赋给指针,未作类型转换 错误:与 'fun’ 类型冲突 错误:‘fun’ 的上一个隐式声明在此
- C/C++ code
#include <string.h>#include <stdio.h>#include <stdlib.h> int main(){int i=1;char* p=(char*)fun(i);return 0;}char* fun(int a){ char *b=(char*)malloc(sizeof(char)*10); sprintf(b,"%d",a); return b;}[root@tian 桌面]# gcc -o send1 send1.c
send1.c:14:7: 错误:与‘fun’类型冲突
send1.c:9:16: 附注:‘fun’的上一个隐式声明在此
这是什么原因阿。怎么解决阿。谢谢阿
[解决办法]
编译器不同,vs正常
[解决办法]
- C/C++ code
#include <string.h>#include <stdio.h>#include <stdlib.h>char* fun(int a); int main(){ int i=1; char* p=(char*)fun(i); printf("%c\n",*p); return 0;}char* fun(int a){ char *b=(char*)malloc(sizeof(char)*10); sprintf(b,"%d",a); return b;}
[解决办法]
- C/C++ code
char* fun(int a); //前置声明下看看,还不行,就换个名字int main(){
[解决办法]
没有问题,编译器的问题吧,vc正常啊
[解决办法]
main函数在调用fun() 要先声明