Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 144
#1

Невозможно преобразовать "void *" в "st *" - C++

10.01.2014, 09:39. Просмотров 425. Ответов 5
Метки нет (Все метки)

C++
1
2
struct st *PTR; 
PTR = malloc(sizeof(struct st));
Для преобразования "void*" к указателю на тип, не являющемуся "void", требуется явное приведение
Такая вот ошибочка выходит, может кто помочь?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 09:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Невозможно преобразовать "void *" в "st *" (C++):

Error C2440: инициализация: невозможно преобразовать "void *" в "listnode *". подскажите, что можно сделать? - C++
#include <iostream> struct listnode { char *data; int value; struct listnode *next; }; struct listnode...

Error C2440: =: невозможно преобразовать "void *" в "Node *" - C++
Почему ошибка? error C2440: =: невозможно преобразовать "void *" в "Node *" #include <stdio.h> #include <ctype.h> #include...

Error C2440 невозможно преобразовать "void *" в "char * - C++
Уважаемые форумчане. Не могу понять почему ему не нравятся указатели. Запускал прогу на разных компиляторах одна и та же ошибка. Error...

Ошибка при сборке многофайлового проекта: "невозможно преобразовать "int" в "const golf" - C++
Сделал многофайловую программу программу, вот она: //golf.h #include <iostream> #ifndef golg_h_ #define golf_h_ const int Len =...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout - C++
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов- справочник телефонный, с именем и фамилией. ...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 09:41 #2
C++
1
2
struct st *PTR; 
PTR = (struct st*)malloc(sizeof(struct st));
Black Fregat
1381 / 1011 / 222
Регистрация: 31.05.2009
Сообщений: 4,240
10.01.2014, 09:44 #3
Как ни странно звучит, нужно таки поставить явное приведение типа:
C
1
2
struct st *PTR; 
PTR = (struct st*) malloc(sizeof(struct st));
Это если на С.
А на плюсах желательно даже структуры размещать как объекты, через new
C++
1
2
struct st *PTR; 
PTR = new st;
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
10.01.2014, 09:45 #4
C++
1
2
struct st *PTR; 
PTR = static_cast<st*>(malloc(sizeof(struct st)));
так добрее
alsav22
10.01.2014, 09:51
  #5

Не по теме:

Цитата Сообщение от Black Fregat Посмотреть сообщение
Это если на С.
Это если на С++, на С - явно приводить необязательно.

Добавлено через 1 минуту
Цитата Сообщение от aLarman Посмотреть сообщение
так добрее
Кучнее (С и С++ в кучу)

aLarman
10.01.2014, 10:08     Невозможно преобразовать "void *" в "st *"
  #6

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Кучнее (С и С++ в кучу)
все правильно, думаю это будет лучше
Цитата Сообщение от Black Fregat Посмотреть сообщение
C++
1
PTR = new st;

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 10:08
Привет! Вот еще темы с ответами:

Error C2664: RegisterClassW: невозможно преобразовать параметр 1 из "WNDCLASSEX *" в "const WNDCLASSW *" - C++
почему выдаёт ошибку? int RegClass(WNDPROC Proc,LPCTSTR szName,UINT brBackground){ WNDCLASSEX wc; ...

error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 2 из "long" в "LPCTSTR" - C++
при компиляции выдаёт ошибку указанную в теме, код: void Clab_12_2Dlg::OnClickedAri() { // TODO: добавьте свой код обработчика...

Error C2440: <function-style-cast>: невозможно преобразовать "unsigned int" в "std::bitset<_Bits>" - C++
С++ Не работает программа! Задание было такое: напишите программу invert(p,x,n), возвращающую значение х с инвертированными n-битами,...

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" - C++
msoftcon.h //msoftcon.h //declarations for Lafore's console graphics functions //uses Window's console functions #ifndef...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.01.2014, 10:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru