Hallo allerseits,
Nach teilweiser Lektüre des Buches „Effective C++“ habe ich meine #defines in entsprechende const-Ausdrücke geändert und als static innerhalb einer Klasse definiert.
Mit int kein Problem, mit cstrings aber…
class Test{
public:
static int const ConstInt = 1; //Compiler: ok
static char const * const ConstCstring = „bla“;
// Compiler: Klassenelement kann hier nicht
// initialisiert werden
};
Als Workaround gibt es diese Möglichkeit:
class Test{
static char const * const ConstCstring;
};
char const * char Test::ConstCstring = „bla“;
Ich würde gerne die Zuweisung in der Klassendeklaration erledigen damit ich in der Headerdatei die Quasi-Defines habe(ob das unbedingt sein muss sei mal dahingestellt, ich halte es für übersichtlicher wenn solche Informationen im Header stehen).
Wie kann ich also „char const * const“ innerhalb einer Klasse als static deklarieren ohne auf die genannte Variante auszuweichen?