Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5]      все
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Дурдом сделали с этими умными...
У меня удаляются ноды в дереве при выходе переменной из области.
4 июн 21, 10:52    [22331228]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Anatoly Moskovsky
PetroNotC Sharp
Я же выше написал код с ошибкой. Как убрать ошибку?


SChildFirst* child = dynamic_cast<ChildFirst*>(v);

// cannot convert from unique ptr


Если речь про эту ошибку то - так:
ChildFirst* child = dynamic_cast<ChildFirst*>(v.get());
if (child) {
   //  ChildFirst
}
else {
  // other class
}

Подскажи как правильно брать дерево или кусок дерева на редактирование при shared и при unique ptr?
Если нужно владельца нод только само дерево. И это логично. То почему получая дерево, и правя ветки, уничтожаются только ветки? Так дерево некорректно написано?
В шаблоне разве не один тип на все веточки ноды?
4 июн 21, 11:02    [22331234]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
QMap<QString, tree<shared.... >>> map
...
tree.add(....
map[]=tree // ветки остаются и все работает
...
tree = map[].values()
tree.add(...// ветки уничтожаются

Это получается либо неправильно беру из мапы, либо в мапу тоже добавлять дерево через умный?
Первое или второе?
4 июн 21, 11:12    [22331239]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
AmKad
Member

Откуда:
Сообщений: 5297
Ну и Петруха, развел балаган на 5 страниц.
4 июн 21, 11:33    [22331247]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
AmKad,
Ну дак подсказывай. Не балагань)
4 июн 21, 11:35    [22331250]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
AmKad,
Почему счетчик расшаренного указателя не работает и уничтожает объект?
4 июн 21, 11:36    [22331253]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
AmKad,
Хмммм
Решил)))
Надо было адрес брать и присваивать после того как отдали объект в мапу))).
Вам бы отдельный топик для новичков. Изверги))
4 июн 21, 11:49    [22331259]     Ответить | Цитировать Сообщить модератору
 Re: Tree + полиморфный. Как кастовать в наследника?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Дерево отличное. Всем рекомендую. 6 видов итераторов.
4 июн 21, 11:58    [22331266]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5]      все
Все форумы / C++ Ответить