Řeším teď problém, kde mám jeden z argumentů číslo. Argumenty procházím za pomocí iterátoru a mám problém, že když na ten iterátor zavolám toInt(), tak mi začne vypisovat něco s invalid pointer. Problém ovšem nebude v toInt ale v destruktoru QString a zaboha nemůžu přijít na to kde ta chyba je. Jako řešení, které funguje je převedení na string a ze stringu opět vytvořit QString ovšem tohle mi příjde hrozně zbytečné. Ještě dodám, že to tu chybu vypisuje pouze pokud je číslo dvoumístné nebo třímístné, pokud je více místné tak to v pohodě projde. Tady je ukázka jak bych chtěl aby to bylo:
QList<QString>::iterator i = a.arguments().begin();
int num = i->toInt();
Chyba je celkem nic neříkající: free(): invalid pointer:.
Předem díky za jakoukoliv radu nebo vysvětlení v čem je problém.
No není to náhodou v tom, že objekt vytvořený metodou arguments() hned zanikne a ty pak voláš hovadinu? Opravit by to mělo jít tak, že si a.arguments() uložíš do lokální proměnný a teprv z tý si vytvoříš iterátor.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon