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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
#1

Явное приведение "void*" - C++

24.11.2010, 19:31. Просмотров 1368. Ответов 3
Метки нет (Все метки)

Всем привет
В коде при компиляции появляется ошибка
error C2440: =: невозможно преобразовать "void *" в "Player_texture *"
1> Для преобразования "void*" к указателю на тип, не являющемуся "void", требуется явное приведение


Вот кусок кода, которого, как я думаю будет достаточно для понятия проблемы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct _player_texture
{
  int valid; // was the loading attempt successful ? 
#ifdef  USE_SDL
  SDL_Surface *bitmap;
#else
  void *bitmap;
#endif
  GLuint tex_id; //OpenGL texture ID
  float scale_x, scale_y; // scale the texcoords, as OpenGL thinks in TEX_XSIZE and TEX_YSIZE
};
 
typedef struct _player_texture Player_texture; 
Player_texture  *pt; 
int tex_mode; // Texturing active ? 
 
pt = malloc(sizeof( *pt));   // В этой строке ошибка и есть.
Сам пробовал с проблемой разобраться, но дело с мёртвой точки не движется. Прошу помочь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2010, 19:31     Явное приведение "void*"
Посмотрите здесь:

Невозможно преобразовать "void *" в "st *" - C++
struct st *PTR; PTR = malloc(sizeof(struct st)); Для преобразования "void*" к указателю на тип, не являющемуся "void", требуется...

Товарищи, мне уже надоела запись "void main()" - C++
http://www.research.att.com/~bs/bs_faq2.html#void-main Прочитайте пожалуйста. Может усвоите для себя что-либо. И перестанете наконец...

Ошибка "ANSI C++ forbids implicit conversion from void* in initialization" - C++
код списка с последовательным хранением рабочий (взят из лабы).но там и cnt и bilet *list - переменные глобальные.я добавил функцию...

Исправить ошибку "C2562: 'main': 'void' function returning a value" - C++
Привет программистам. Не могу разобраться с ошибкой "C2562: 'main': 'void' function returning a value". Помогите чем можете. #include...

"Идентификатор не найден" при вызове метода void - C++
Здравствуйте. Следующая проблема: при вызове метода void Math(t1, t2), выдает ошибку "идентификатор не найден" (здесь строка №9). ...

"control may reach end of non-void function" Xcode - C++
main.cpp:42:1: Control may reach end of non-void function Выдает такую ошибку, гуглил не помоглу, видимо я туп #include <iostream> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
24.11.2010, 19:39     Явное приведение "void*" #2
C++
1
pt = (Player_texture*)malloc(sizeof( *pt));
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.11.2010, 23:40     Явное приведение "void*" #3
в C++ обязательно приводить
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2010, 09:41     Явное приведение "void*"
Еще ссылки по теме:

Ошибка компиляции: error C2562: main: функция типа "void" - C++
Возникла проблема, при компиляции выдает ошибку "1>c:\users\user\documents\visual studio 2012\projects\lab1\lab1\lab1.cpp(30): error C2562:...

Функции, ошибка C2562: tabl: функция типа "void", возвращающая значение - C++
Выдает ошибку error C2562: tabl: функция типа "void", возвращающая значение. #include <iostream> #include <math.h> #include <iomanip>...

Исправить ошибку error C2562: функция типа "void", возвращающая значение - C++
Выдает ошибку error C2562: tabl: функция типа "void", возвращающая значение. #include <iostream> #include <math.h> #include <iomanip>...

Ошибка: ссылка на неразрешенный внешний символ "void __cdecl fifth(int)" (?fifth@@YAXH@Z) - C++
Столкнулся с такой ошибкой: ссылка на неразрешенный внешний символ "void __cdecl fifth(int)" (?fifth@@YAXH@Z) в функции _main и не знаю,...

Как изменить код, чтобы не было ошибки "expected initializer before void" - C++
В общем, компилятор почему-то ругается на 3 строку, говоря "expected initializer before void" Что ему тут не нравится -- ума не приложу....

Ошибка "invalid conversion from 'void*' to 'TList*" - C++
#include <stdio.h> #include <stdlib.h> #define COUNT_RS 5 typedef struct data_t { const char* lastname; const...


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

Или воспользуйтесь поиском по форуму:
SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
25.11.2010, 09:41  [ТС]     Явное приведение "void*" #4
Cпасибо, помогло!
Yandex
Объявления
25.11.2010, 09:41     Явное приведение "void*"
Ответ Создать тему
Опции темы

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