永发信息网

c++为什么会出现这个错误啊:1 unresolved externals 执行 link.exe 时出错.求大神只指点

答案:4  悬赏:40  手机版
解决时间 2021-03-18 22:49
  • 提问者网友:wodetian
  • 2021-03-18 13:47
#include
void GetMemory(char*p)
{
p=(char*)malloc(100);
}
void Test(void)
{
char *str=NULL;
GetMemory(str);
strcpy(str,"hello world");
printf(str);
}
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-03-18 14:30
GetMemory重新分配了内存所以参数应该是char*&类型,不然无法改变p的地址,因为进函数的时候参数的值是会备份的。
strcpy,malloc,printf这几个函数的头文件也没有引用
全部回答
  • 1楼网友:逐風
  • 2021-03-18 16:47
因为进函数的时候参数的值是会备份的getmemory重新分配了内存所以参数应该是char*&类型,不然无法改变p的地址。 strcpy,malloc
  • 2楼网友:动情书生
  • 2021-03-18 15:13
你的入口函数main呢? void Test() 应该是void main() 吧
  • 3楼网友:孤老序
  • 2021-03-18 14:38
在GetMemory中申请的空间地址没有被传出来,所以在strcpy的时候会说地址不存在。相当于 strcpy(NULL, "hello world");
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯