Значение типа "int" нельзя присвоить сущности типа "LISTNODEPTR" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В чём проблема и как починить?
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)));
...
В последней строке ошибки: error C2440: =: невозможно преобразовать "void*" в "LISTNODEPTR" IntelliSense: значение типа "void*" нельзя присвоить сущности типа "LISTNODEPTR"

Решение задачи: «Значение типа "int" нельзя присвоить сущности типа "LISTNODEPTR"»

textual
Листинг программы
newPtr= (LISTNODEPTR)(malloc (sizeof (LISTNODEPTR)));

Объяснение кода листинга программы

  1. newPtr - это переменная типа LISTNODEPTR, которая указывает на выделенную память для хранения структуры данных LISTNODE.
  2. newPtr инициализируется результатом вызова функции malloc, которая выделяет память для хранения одного указателя типа LISTNODEPTR.
  3. Значение, выделенное функцией malloc, присваивается переменной newPtr.

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы