矢量迭代器在尝试调用函数时使我的程序崩溃



我正在尝试创建一个类似于搜索历史的对象,并且搜索目标的迭代器出现问题,这在初始化时使我的程序崩溃。另一个问题是,当我尝试更改一些指针(f.ex -> to * (时,它找不到任何函数

。中国共产党

History::History(std::vector<std::unique_ptr<Brick>>::iterator _itr)
:   itr(_itr)
{
this->itr_text = (*itr)->getText(); // <--- this line is strange
// some SFML
}
History::~History()
{
}

.hpp

class History
{
public:
History(std::vector<std::unique_ptr<Brick>>::iterator _itr);
~History();
private:
std::vector<std::unique_ptr<Brick>>::iterator itr;
std::string itr_text;
/// some SFML
};

我打算添加更多迭代器函数,因此感谢您的帮助

itr是类型的目标元素std::unique_ptr<Brick>.您可以使用 :

this->itr_text = (*(*itr)).getText();

this->itr_text = (*itr)->getText();

最新更新