Cosa c'è di sbagliato nel codice che segue tale da provocare un segmentation fault?
codice:
void mywindow::languageSlot(boolChecked){
QString x=text1.toPlainText();
std::string tt=x.toUtf8().constData();
ToTransliterate *r;
if(Checked){
this->language=sender()->property("language").toInt();
switch(this->language){
case 0: //Belarusian
r=new Belarusian();
break;
case 1: //Bulgarian
r=new Bulgarian();
break;
case 2: //Macedonian
r=new Macedonian();
break;
case 3: //Russian
r=new Russian();
break;
case 4: //Serbian
r=new Serbian();
break;
case 5: //Ukrainian
r=new Ukrainian();
break;
}
text2.setPlainText(QString::fromStdString(r->Transliterate(tt)));
delete r;
}
}
Ho notato che togliendo tutti new il programma non da problemi.