我正在实施超时。所以我宣布了一个超时结构
typedef struct{
unsigned long * Task;
unsigned long Timeout;
unsigned long Offset;
DATA * Next;
DATA * Previous;
} TIMEOUT;
我把它初始化为:
TIMEOUT Timout = {NULL ,30,0,NULL,NULL,NULL};
我声明了另一个结构DATA Contents;
:
typedef struct{
char CallBack;
void * Data;
}DATA;
但是当我Contents.Data = Timout;
时,它会给我以下错误:
CA850 error E2524: illegal type combination for '=' (void *, __faked63)
请帮助:)
答案 0 :(得分:1)
你需要一个指针。表达式Contents.Data = Timeout;
尝试将类型TIMEOUT
的值分配给类型为void*
的变量。使用&Timeout
获取指针:
Contents.Data = &Timeout;
答案 1 :(得分:0)
您不能将结构本身分配给void *但是它的地址也是如此,请使用
Contents.Data = &Timeout;