Значение типа "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.