Что касается списка итераторов, дающего недопустимые данные после приведения типа из одного типа объекта указателя к другому типу объекта указателя - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь получить данные из списка итераторов, который указывает на список объектов указателя типа. И эти данные присваиваются объекту указателя типа B.

Код:

   A* a=new A();
   B* b=new B();
   std::list<A*>a_list;
   for(std::list<A*> iterator it = a_list.begin(); it != a_list.end(); it++) {
          b= (B*)(*it); }

При этом я получаю правильное значение в (* it), но после приведенного выше преобразования типов большинство данных является недействительным. Это дает какое-то случайное значение мусора.

Я пытался преобразовать тип interpret_cast , но все равно он дает мне те же недопустимые данные.

...