簡體   English   中英

嘗試調用函數時矢量迭代器使我的程序崩潰

[英]vector iterator crashing my program when trying to call a funcition

我正在嘗試制作類似於搜索歷史記錄的 object 並且我遇到了搜索目標的迭代器問題,這在初始化時使我的程序崩潰。 另一個問題是,當我嘗試更改一些指針(f.ex -> 到 * )時,它找不到任何函數

.ccp

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
};

我計划添加更多的迭代器函數,所以我會感謝你的幫助

itrstd::unique_ptr<Brick>類型的目標元素。 您可以使用:

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

或者

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM