Hy!
Es müssen natürlich keine konstanten Werte sein, aber da es sich um vordefinierte Stile handelt ( z.B. hat ST_ERROR einen roten Hintergrund und eine Fette Schrift) mach ich das ganze mit Konstanten, und da ich mit nem enum einige Konstanten unter einem Überbegriff gruppieren kann, und das ganze einfach schöner ist als per #define deswegen mach ichs so.
Nur noch zur Erklärung: Das ganze soll eine Klasse sein die ein Logfile in einem Programm produziert, in dem ich keine Ausgaben auf den Bildschirm machen kann. Also hab ich mir gedacht ich mach mir eine Klasse die gleich ein schön formatiertes HTML Dokument ausgiebt, um die Logs besser lesen zu können.
Jetzt bin ich schon fast fertig, und über eine kleine Funktion InsertLog(), bzw. über Makro LOG() kann ich Ausgaben in ein HTML-File machen. Sieht dann z.B. so aus:
LOG( "ungültige Parameter"; ST_WARNING);
Und in meinem HTML Log bekomme ich ein Zeile mit der Formatierung die ST_WARNING entspricht. Aufrufstack und Laufzeit des Programms stehen auch davor. Die enums Verwende ich jetzt, da durch die Typensicherheit, die durch die enums im Gegensatz zu const Variablen oder #defines gegeben ist ich eine Fehlerquelle ausschalten kann.
Ich hoffe ich hab meine Verwendung der Konstanten gut erklärt.
mfg
uhu01