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

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

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

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

10.01.2014, 09:39. Просмотров 406. Ответов 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 *"
Посмотрите здесь:

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

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

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

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

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

Невозможно преобразовать "unsigned int" в "output::book_origin" - C++
Помогите как исправить данную проблему Серьезность Код Описание Проект Файл Строка Ошибка C2440 =: невозможно преобразовать &quot;unsigned...

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

Невозможно преобразовать "overloaded-function" в "LPDSENUMCALLBACKW" - C++
Всем привет. Решил изучить библиотеку DirectSound. Попробовал пример с сайта microsoft, а именно, узнать список подключенных устройств для...

Что делать с ошибкой: C2440: инициализация: невозможно преобразовать "int **" в "int *" - C++
Задание, сделать класс динамического массива шаблонным. Вот, вроде бы сделал, но наткнулся на ошибку, что не так? Код: ...

Исправить ошибку C2664: fcvt: невозможно преобразовать параметр из "int" в "int *" - C++
ПИшу програму перевод дробового числа с указанием количесв цифр после точки , с инт в чар !!!!Но выбивает ошибку !!! ...

Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double f(double *a, double x) { double k = 0; int n; for (int i = 0;...

не получается передать массив из "void Vvod" в "void CalculatingEstimates" - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void CalculatingEstimates(int Pp,Stydent mas); void Vvod(); struct...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 09:41     Невозможно преобразовать "void *" в "st *" #2
C++
1
2
struct st *PTR; 
PTR = (struct st*)malloc(sizeof(struct st));
Black Fregat
1371 / 1001 / 217
Регистрация: 31.05.2009
Сообщений: 4,196
10.01.2014, 09:44     Невозможно преобразовать "void *" в "st *" #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
641 / 562 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
10.01.2014, 09:45     Невозможно преобразовать "void *" в "st *" #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;

Yandex
Объявления
10.01.2014, 10:08     Невозможно преобразовать "void *" в "st *"
Ответ Создать тему
Опции темы

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