创建 void* 函数并传递 diff。在 get_value 函数和基于类型的操作中对该值进行类型转换之后,获得诸如 float、int 和 double 之类的值类型。
错误 main.c:17:27:错误:“float”类型的操作数无法转换为指针类型
#include <stdio.h>
#include <stdint.h>
void get_value(void* data)
{
printf("Value %f \r\n", (float)data);
}
int main(void) {
float di = 10.10;
get_value((void *)di);
return 0;
}
您的问题不清楚,但如果您尝试通过类型转换将浮点值传递到 get_value 函数中,则需要将浮点值定义为指针。现在您正尝试将 10.10 更改为无效的 void 指针。你可以试试这个:
float* di;
*di = 10.10
get_value((void *)di);