void value not ignored as it ought to be解决方法

编译时出现“void value not ignored as it ought to be”错误,原因是因为,一个函数的返回值为void,但是你又把这个函数的返回值赋值给了一个具体类型的变量。

例:代码如下

#include 
#include 

struct globalfifo_dev {
	unsigned int current_len;
};

static void globalfifo_setup_cdev(struct globalfifo_dev *dev, int index)
{
    return;
}

static int __init globalfifo_init(void)
{
    int ret = 0;
    struct globalfifo_dev *globalfifo_devp = NULL;
    ret = globalfifo_setup_cdev(globalfifo_devp, 0);

	return 0;

}
module_init(globalfifo_init);

static void __exit globalfifo_exit(void)
{
}
module_exit(globalfifo_exit);


编译报错如下:

原因是:函数globalfifo_setup_cdev返回值为void型,但是我却把他赋值给int型的变量ret。

你可能感兴趣的:(linux设备驱动,c基础知识)