我想从文件中读取数据,从数据创建批评,然后创建一个指向每个批评者的向量。在我读到第一批评的数据并将其设置为Criteria后,我有指针的向量
NightHawks *nightHawkPtr = &theCritic;
criticPointer.push_back(nightHawkPtr);
然后我尝试将它们打印出来。
for (int i = 0; i < criticPointer.size(); i++)
{
criticPointer[i]->text();
}
但是,每当指针被推回时,所有的指针指向相同的评论者。
也许是因为你只声明了'theCritic'的一个实例,并且你正在改变它的值?你能告诉我们更多的代码吗? –
我猜你只是修改'theCritic'并推送新的指针。所有这些指针都会保存相同的内存地址,从而指向可能是最后一个批评者的相同实例。 – ApplePie
我认为这是问题,但我不知道如何解决,如果我从包含未知数量的批评者的输入文件阅读。 – user062495