我试图从文件中读取数据,从数据中创建评论者,然后创建指向每个评论者的指针 vector 。在我阅读了第一个评论家的数据并将其设置为“批评”之后,

NightHawks *nightHawkPtr = &theCritic;
criticPointer.push_back(nightHawkPtr);

然后尝试将它们打印出来。
 for (int i = 0; i < criticPointer.size(); i++)
    {
        criticPointer[i]->text();
    }

但是,每次将指针向后推时,所有指针都指向同一评论家。

最佳答案

将其放置在 vector 中时,需要创建一个新的注释器。否则所有数据都指向相同的存储位置。

criticPointer.push_back(new NightHawks(theCritic));

更好的是,不存储指针,而只是将评论者值存储在 vector 中。

关于c++ - 指针 vector ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22177194/

10-11 07:29
查看更多