segfault
-
Hi,
ich bekomme einen segfault, wenn ich folgendes ausfuehre
aus der main()
QString* bla= bus->data(); std::cout << bla->toStdString() << std::endl; //seg fault!aus bus.cpp
QString* Bus::data() { QString* data= new QString(); while(mach mal) { sp->getChar(&chout); //hole zeichen von serieller schittstelle data += chout; //chout ist ein char* } return data; }Das sollte an sich doch klappen, oder?
Gruss
Micha
-
Micha_ schrieb:
data += chout;fehlt wohl ein *
-
Verstehe ich nicht. Wo soll da ein * hin?
chout ist vom Typ char*. Es wird von der seriellen Schnittstelle ein Zeichen zurueckgeliefert. Wenn ich mir data direkt in der Funktion ausgebe lasse, funktioniert es auch soweit. Nur wenn ich die Funktion verlasse und es von der main ausgeben lassen will, bekomme ich einen segfault. Komisch.
Micha
-
Ok, danke. Erst denken, dann posten.