Значение типа "int" нельзя присвоить сущности типа "LISTNODEPTR" - C (СИ)
Формулировка задачи:
В чём проблема и как починить?
В последней строке ошибки:
error C2440: =: невозможно преобразовать "void*" в "LISTNODEPTR"
IntelliSense: значение типа "void*" нельзя присвоить сущности типа "LISTNODEPTR"
Листинг программы
- struct listNode {
- char data;
- struct listNode *nextPtr;
- };
- typedef struct listNode LISTNODE;
- typedef LISTNODE *LISTNODEPTR;
- void insert (LISTNODEPTR *, char);
- ...
- void insert(LISTNODEPTR *sPtr, char value)
- {
- LISTNODEPTR newPtr, previousPtr, currentPtr;
- newPtr= (malloc (sizeof (LISTNODEPTR)));
- ...
Решение задачи: «Значение типа "int" нельзя присвоить сущности типа "LISTNODEPTR"»
textual
Листинг программы
- newPtr= (LISTNODEPTR)(malloc (sizeof (LISTNODEPTR)));
Объяснение кода листинга программы
newPtr
- это переменная типаLISTNODEPTR
, которая указывает на выделенную память для хранения структуры данныхLISTNODE
.newPtr
инициализируется результатом вызова функцииmalloc
, которая выделяет память для хранения одного указателя типаLISTNODEPTR
.- Значение, выделенное функцией
malloc
, присваивается переменнойnewPtr
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д