error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
#include<stdio.h>#include<stdlib.h>
int fun(int n)
{int *p;
p=(int*)malloc(sizeof(int));
*p=n;
return*p;
}
main()
{int a;
a=fun(10);
printf("%d\n",a+fun(10));
} 本帖最后由 风过无痕丶 于 2018-4-19 10:52 编辑
你的主函数没写返回值和返回值类型c++不像c允许你写隐式, 本帖最后由 风过无痕丶 于 2018-4-19 10:59 编辑
还有你的fun函数的逻辑也有点问题,fun函数malloc出来的是动态内存, 但是你只返回了一个数值回去, 没有把这个内存地址返回回去, 那么这个函数结束以后!不会自动释放动态内存! malloc出来的内存就被闲置了,没有得到利用! 说专业点! 内存泄露! 如果这个函数你调用个几十几百次! 那么闲置的内存就不是一点点了。。。 风过无痕丶 发表于 2018-4-18 22:22
还有你的fun函数的逻辑也有点问题,fun函数malloc出来的是动态内存, 但是你只返回了一个数值回去, 没有把 ...
{:5_106:} 给你点赞 谢谢解答 这样就明白了 我说怎么不对呢 风过无痕丶 发表于 2018-4-18 22:22
你的主函数没写返回值和返回值类型c++不像c允许你写隐式,
那大佬应该怎么写呢,return 0;好像不行{:10_319:} 丘陵山地 发表于 2022-7-24 21:23
那大佬应该怎么写呢,return 0;好像不行
哦哦,我知道了。写成int main
页:
[1]