错误:void 值未如预期地被忽略

时间:2025-01-23 08:03:03

调试程序的时候出现了:

错误:void 值未如预期地被忽略

其实原因很简单,就是说明你自己的函数定义的时候是没有返回值的void型的,而你在使用的时候又认为它是有返回值的,你可能用了一个变量来接受它的值或者用它的值来进行比较等这些操作都是错误的不合理的。


解决方案:

找到问题的关键所在就能很好的解决问题了,你可以将原函数定义为有返回值的,也可以在调用函数的时候什么都不做。

如一下的例子:

if(list->insert_last(list,b)==0);
其实这个函数当时定义的时候我定义的为void的,而调用的时候却用它的值与0进行比较,显然是错误的。

改正为:

list->insert_last(list,b);
这样就ok了。

                                                                                                                                  ------------笛风2013.10.11

错误出现之前的代码如下:

#include ""
#include ""
#include "linked_list.h"



main()

{
	linked_list_t *list=linked_list_create();
	int a=list->get_count(list);
	int c=25;
	void *b=(void *)&c;
	printf("链表元素的个数为:%d\n",a);
	if(list->insert_last(list,b)==0);
	printf("链表插入元素成功!\n");
	a=list->get_count(list);
	printf("链表元素的个数为:%d\n",a);
	

}

改正之后的代码如下:

#include ""
#include ""
#include "linked_list.h"



main()

{
	linked_list_t *list=linked_list_create();
	int a=list->get_count(list);
	int c=25;
	void *b=(void *)&c;
	printf("链表元素的个数为:%d\n",a);
	list->insert_last(list,b);
	printf("链表插入元素成功!\n");
	a=list->get_count(list);
	printf("链表元素的个数为:%d\n",a);
	

}