c语言,报错[Warning] assignment makes pointer from integer without a cast [enabled by default]
答案:2 悬赏:0 手机版
解决时间 2021-04-08 16:06
- 提问者网友:藍了天白赴美
- 2021-04-07 15:11
c语言,报错[Warning] assignment makes pointer from integer without a cast [enabled by default]
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-04-07 16:04
你这是什么IDE?Warning竟然没有提示哪一行。不过Warning不是error。
你的主要问题是下面的链接错误Linker error,即creatList是未定义的引用。
你creatList放在了main函数的后面,就应该在main函数前面加一个函数声明,不然就会出错。
LISTNODEPTR createList();
另外,你的warning应该是将一个int整数值直接赋值给了一个指针变量吧,你还是检查下是哪一行,消除这些warning最好。追问21,23行,截图没截出来追答你把createList函数的的代码贴出来看看。
另外,warning不会导致你不能生成应用程序的。你把createList的提前声明放到main函数前,应该就会消除下面的Linker error了。
你的主要问题是下面的链接错误Linker error,即creatList是未定义的引用。
你creatList放在了main函数的后面,就应该在main函数前面加一个函数声明,不然就会出错。
LISTNODEPTR createList();
另外,你的warning应该是将一个int整数值直接赋值给了一个指针变量吧,你还是检查下是哪一行,消除这些warning最好。追问21,23行,截图没截出来追答你把createList函数的的代码贴出来看看。
另外,warning不会导致你不能生成应用程序的。你把createList的提前声明放到main函数前,应该就会消除下面的Linker error了。
全部回答
- 1楼网友:毛毛
- 2021-04-07 16:14
这个不是错误,是一个警告信息;
他说你把 int 强制转换成指针,并没有通过任何合法的类型转换手段;
楼主用的是 Dev C++ 吧,换 VS2010 吧,符合行业标准,简单易用,功能强大;
是因为 createList( ) 函数返回的类型和 ASP 的类型不符合,导致类型转换警告;
后面还有两个链接错误,他说你没有定义 createList( ) 符号
说明编译器找不到 createList( ) 函数的声明,基础啊基础 ...追问啊?!都是指针啊,应该符合吧?追答没错,理论上符合,但是实际上情况非常复杂,甚至难以想象;
两种不同类型的指针进行强制转换,会导致所有位直接复制到目标指针上
但是因为两种指针的数据类型不同,导致引用指针时错误地解释内存布局
轻则出现无法预料的结果,重则程序崩溃追问求助啊!怎么改啊=_=,,要疯掉了
他说你把 int 强制转换成指针,并没有通过任何合法的类型转换手段;
楼主用的是 Dev C++ 吧,换 VS2010 吧,符合行业标准,简单易用,功能强大;
是因为 createList( ) 函数返回的类型和 ASP 的类型不符合,导致类型转换警告;
后面还有两个链接错误,他说你没有定义 createList( ) 符号
说明编译器找不到 createList( ) 函数的声明,基础啊基础 ...追问啊?!都是指针啊,应该符合吧?追答没错,理论上符合,但是实际上情况非常复杂,甚至难以想象;
两种不同类型的指针进行强制转换,会导致所有位直接复制到目标指针上
但是因为两种指针的数据类型不同,导致引用指针时错误地解释内存布局
轻则出现无法预料的结果,重则程序崩溃追问求助啊!怎么改啊=_=,,要疯掉了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯