У меня есть функция, которая возвращает итератор, и я сохраняю в ней итератор.
Это функция, которая возвращает итератор (где building
- это перечисление):
vector<building>::iterator it;
for (it = building.begin(); it != building.end(); ++it)
{
if(it->getType() == type)
return it;
}
return gebouwen.end();
Теперь, когда я делаю it->isBusy();
Qt падает и выдает ошибку сегментации.
Функция isBusy
:
bool isBusy( void) const { return busy ; };
Когда я отлаживаю, отладчик в Qt останавливается на этой строке кода и выдает:
The inferior stopped because it received a signal from the operating system.
Signal name: SIGSEGV
Signal meaning: Segmentation fault
Я не понимаю, почему эта простая функция позволяет системе останавливаться. Я перезагрузился, потому что некоторые люди говорят, что это потому, что у вас утечки памяти. Но это все еще не решает.