Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 27

Получить тип указателя

26.12.2012, 16:33. Показов 1175. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно вывести из списка тип указателя. Выводит TList вместо P2.
C++
1
2
3
4
5
6
7
8
9
10
class P2{};
P2 *on,*on1 ;
TList *list1;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
on=new P2();
list1=new TList;
list1->Add(on);//обавляем существующие гриды
Label1->Caption=typeid(list1[0]).name();                  // !!!
}
Буду благодарен за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2012, 16:33
Ответы с готовыми решениями:

Почему увеличение указателя на sizeof(тип) не тождественно инкременту этого же указателя?
Всем доброго дня.:) Можете обьяснить ,почему при инкриментировании указателя,его значение(адресс) увеличивается на 4 (размер int в...

Узнать тип значения, зная тип указателя
Здравствуйте! Есть такой код: template<class Iter> void func(Iter first, Iter last) { //... Iter_value_type = *first;...

Несовместимый тип указателя
Столкнулся со следующей проблемой analytics (unsigned char *mas, int outputLen, unsigned char otputmas) { } int main() ...

8
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.12.2012, 16:38
P2 - не указательный тип. TList здесь вообще не объявлен.
0
1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 27
26.12.2012, 17:31  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
P2 - не указательный тип. TList здесь вообще не объявлен.
Это разве не объявление?:
C++
1
TList *list1;
А как сделать что бы P2 стал указательным?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.12.2012, 17:32
Цитата Сообщение от Dusuney Посмотреть сообщение
Это разве не объявление?:
Объявление. Но чего?
0
1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 27
26.12.2012, 17:34  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
Объявление. Но чего?
Объявление списка указателей на объект класса P2
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
26.12.2012, 21:39
Замени на STL лист, да не мучайся
C++
1
2
3
4
5
6
P2 *on ;
list<P2*> list1;
on = new P2();
list1.push_back(on);//обавляем существующие гриды
list<P2*>::iterator it = list1.begin();
 Label1->Caption = typeid(*it).name();
1
1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 27
26.12.2012, 23:25  [ТС]
Цитата Сообщение от MrCold Посмотреть сообщение
Замени на STL лист, да не мучайся
C++
1
2
3
4
5
6
P2 *on ;
list<P2*> list1;
on = new P2();
list1.push_back(on);//обавляем существующие гриды
list<P2*>::iterator it = list1.begin();
 Label1->Caption = typeid(*it).name();
Сделал как вы посоветовали но выкидывает ошибку. Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <cstdlib>
#include <typeinfo>
#include <list>
 
 
class P2{};
P2 *on ;
list<P2*> *list1;
on = new P2();
list<P2*>::iterator it = list1->begin();
list1->push_back(on);
Label1->Caption = typeid(it).name();
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
26.12.2012, 23:33
C++
1
2
3
4
5
6
7
8
9
P2 *on ;
list<P2*> *list1 = new list<P2*> (); //  память выделять 
on = new P2();
list1->push_back(on);
list<P2*>::iterator it = list1->begin();
 Label1->Caption = typeid(*it).name(); 
 
 delete *it;  // не забываем удалить 
 delete list1;
0
1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 27
26.12.2012, 23:36  [ТС]
Цитата Сообщение от Dusuney Посмотреть сообщение
Сделал как вы посоветовали но выкидывает ошибку. Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <cstdlib>
#include <typeinfo>
#include <list>
 
 
class P2{};
P2 *on ;
list<P2*> *list1;
on = new P2();
list<P2*>::iterator it = list1->begin();
list1->push_back(on);
Label1->Caption = typeid(it).name();
Прошу прощения: все в порядке. Компилятор глюкнул просто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2012, 23:36
Помогаю со студенческими работами здесь

Несовместимый тип указателя
Здравствуйте. Допустим, есть что-то вроде такого вот: void inputAnalys( const int* num, const char** param ) {} main( int argc, char...

Несовместимый тип указателя в присваивании
Только начал изучать Си и указатели. При написании простой программы получаю предупреждение: main.c: В функции «main»: main.c:12:5:...

Что определяет тип указателя
Наткнулся на ответ: Что определяет тип указателя? Размер смещения при инкременте указателя Не понял что-то. int* a; ...

Как изменить тип указателя массива ?
Например создаю массив: void * mass; if(1 == 1) mass = wchar_t; else mass = char; Пример конечно ппц какой бред, но если...

Выражение должно иметь тип указателя
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; struct laiks { int h; int m; int s; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru