Wieso stürzt das ab?

08/06/2013 - 14:15 von Heinz-Mario Frühbeis | Report spam
Hallo zusammen!

C++ (erstellt mit QT-Creator):
#include <string>
#include <vector>
#include <map>

typedef std::vector < std::string > tpVecStr;

class cColors{ // [1]
friend class cIDARegClass;
friend class cIDAReg;
friend class cIDA;
protected:
tpVecStr R;
tpVecStr G;
tpVecStr B;
tpVecStr Y;
tpVecStr O;
tpVecStr W;
};

class cColorTheme{ // [2]
friend class cIDARegClass;
friend class cIDAReg;
friend class cIDA;
protected:
tpVecStr ForeColor;
tpVecStr BackColor;
};

class cIDARegClass{ // [3]
friend class cIDAReg;
friend class cIDA;
protected:
cColors Colors;
cColorTheme ColorTheme; // hier stürzt das Programm ab
public:
cIDARegClass();
~cIDARegClass();
};

Nur [1] in [3] làuft.
Aber sobald ich [2] (auch nur) aufnehme in [3], dann stürzt das Programm ab.

Wenn ich allerdings [2] in [3] als "cColorTheme *ColorTheme;" aufnehme,
dann làuft es wieder.
Wenn ich in [2] den Vector raus nehme und statt dessen z. Bsp.
"std::string Test" einsetze, dann làuft es wieder.
Wenn ich in [3] [1] raus nehme und statt dessen [2] einsetze, dann làuft
es wieder.

Ich habe auch versucht statt "tpVecStr" "std::vector < std::string >" zu
nehmen, aber auch da stürzt das Programm ab.
Anstatt std::vector habe ich auch mal std::map versucht...auch Absturz.
Die Fehlermeldung ist: "Das Programm ist abgestürzt".

Ich verstehe das nicht.
Könnt ihr mir erklàren wieso [3] nur mit [1], oder [2] làuft, aber nicht
mit [1] _und [2]?

Vorab mit Dank und
mit Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Heinz-Mario Frühbeis
08/06/2013 - 14:36 | Warnen spam
Direkt wieder ein Update:
Gerade habe ich die h-Datei und die cpp-Datei dieser Klasse aus dem
Projekt entfernt und auch gelöscht und eine neue Klasse erstellt. Darin
dann 1_zu_1, copy&paste, den Code eingetragen und alles làuft...

Es muss wohl am QT-Creator gelegen haben. Oder wie kann ich mir das
erklàren?

Mit Gruß
Heinz-Mario Frühbeis

Ähnliche fragen