我收到错误消息 错误:从'@ enum $ 1main_c **'到'@ enum $ 1main_c *'的非法隐式转换
//example.h
typedef enum {eg_1, eg_2} valType;
//main.c
#include "example.h"
void main(void)
{
valType *testVal;
while(1)
{
read(x,y,*testval);
}
}
你可以告诉我我做错了什么吗?提前谢谢
答案 0 :(得分:0)
如果这是来自read
的{{1}},则其最后一个参数必须是unistd.h
,而不是size_t
。
答案 1 :(得分:0)
您可以发布read()
函数的源代码吗?可能它需要testVal
作为指针,但你传递的是值。
答案 2 :(得分:0)
没有任何进一步的信息,我可以说是testVal有一个未定义的值,它是一个未初始化的指针。我假设读取将尝试在testVal中放置一些东西,所以现在,将代码更改为:
//example.h
typedef enum {eg_1, eg_2} valType;
//main.c
#include "example.h"
void main(void)
{
valType testVal;
while(1)
{
read(x,y, &testval);
}
}
让我们知道它是怎么回事。