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

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

Войти
Регистрация
Восстановить пароль
 
Dusuney
1 / 1 / 0
Регистрация: 13.11.2012
Сообщений: 27
#1

Достать указатель из списка типа TList - C++

24.12.2012, 20:38. Просмотров 302. Ответов 0
Метки нет (Все метки)

Необходимо достать указатель на объект из списка и вывести его тип.
В результате выполнения необходимо вывести тип указателя on:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
using namespace std;
TList *list;
class P2 {};
 
int main(){
P2 *on = new P2();
list->Add(on);
cout << typeid(list[0]).name()<<"\n";  // выводит TList и это справедливо
}
Вывести должно "P2*".
Если попытаться присвоить:
C++
1
2
on=list[0]; //выводит Cannot convert TList to P2
on=list->Items[0]; //выводит Cannot conver Void* to P2
Тоже справедливо. Если бы удалось присвоить мы могли бы без труда вывести тип указателя"on":
C++
1
cout << typeid(on).name()<<"\n";
Таким образом проблема в преобразовании типов.
Заранее благодарен в подсказках и прочей помощи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 20:38     Достать указатель из списка типа TList
Посмотрите здесь:

переменная типа указатель на int передается по значению? C++
C++ Обобщенный указатель типа void
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен C++
C++ Как достать указатель на объект из контейнера set
указатель на строку типа Integer C++
Указатель на список в элементе списка C++
C++ Указатель на поле типа char []
Сохранение/Загрузка указателя на указатель типа char C++
C++ Приведение типа через указатель
C++ Указатель типа void c++
C++ Преобразование указателя одного типа в указатель другого
Указатель типа void C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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