【发布时间】:2017-07-25 18:03:29
【问题描述】:
我有以下简单的代码:
结构的第一次使用,f 工作正常,但我不能为n 进行 malloc - 我收到一个错误,它 void* 无法分配给 myValues*。我知道我不应该投射 malloc,那我该怎么做呢?怎么了?
确切的错误:
a value of type "void *" cannot be assigned to an entity of time "myValues *"
#include <stdio.h>
#include <stdlib.h>
typedef struct values
{
int a;
char c;
void *pv;
values *next;
} myValues;
int main(){
myValues f;
myValues *n = malloc(sizeof(myValues));
}
【问题讨论】:
-
显示准确的错误信息。
-
你将 C++ 用作 C。
-
你知道什么是类型转换吗?
-
使用 C 编译器而不是 C++ 编译器编译代码。
标签: c struct type-conversion malloc declaration