初始化时将整数赋给指针,未作类型转换
场景:警告:初始化时将整数赋给指针,未作类型转换 异常:与 'fun’ 类型冲突 异常:‘fun’ 的下一个隐式声明在此
警告:初始化时将整数赋给指针,未作类型转换 错误:与 'fun’ 类型冲突 错误:‘fun’ 的上一个隐式声明在此
[root@tian 桌面]# gcc -o send1 send1.c
send1.c:14:7: 错误:与‘fun’类型冲突
send1.c:9:16: 附注:‘fun’的上一个隐式声明在此
这是什么原因阿。怎么解决阿。谢谢阿
------解决方案--------------------
编译器不同,vs正常
------解决方案--------------------
警告:初始化时将整数赋给指针,未作类型转换 错误:与 '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() 要先声明