Это фрагмент кода вызывает сбой:Создание строки из wstring вызывает «строка итераторы несовместимыми» утверждают
for (m_tracksVectorIterator = m_tracksVector.begin(); m_tracksVectorIterator != m_tracksVector.end(); ++m_tracksVectorIterator)
{
std::string displayString(m_tracksVectorIterator->GetDisplayName().begin(), m_tracksVectorIterator->GetDisplayName().end());
....
}
Из того, что я читал до сих пор утверждают, причиняется путем сравнения 2 несовместимых строк, однако, в моем случае причиной является создание новой строки.
m_tracksVectorIterator->GetDisplayName()
возвращает std :: wstring, с которого я пытаюсь создать строку std ::. Я нашел этот метод, чтобы сделать это где-то еще здесь, но строка заставляет мою программу бросать утверждение каждый раз.
Любые советы?
Выполняется ли 'm_tracksVectorIterator-> GetDisplayName()' return by value? – LogicStuff
Мы можем только догадываться, если вы не предоставляете MCVE. – LogicStuff