Hallo, wenn ich mit Qt/Mingw unter Windows in einer Methode ein cout << _FUNCTION_; mache, wird nur der Methodenname ausgegeben. Mache ich das gleiche unter Visual Studio, wird der Klassenname mit ausgegeben. Das hätte ich unter Qt auch gern so. Weiß jemand ob sich das ändern lässt und wenn ja, wie? Gruß Philip
> cout << _FUNCTION_; mache, wird nur der Methodenname ausgegeben So solls sein. > unter Visual Studio, wird der Klassenname mit ausgegeben Das ist microsoft-specific. > und wenn ja, wie? versuchs mal mit
1 | __PRETTY_FUNCTION__ |
Wenn eh Qt eingesetzt wird, kannst du auch mal Q_FUNC_INFO probieren. Siehe http://doc.qt.digia.com/qt/qtglobal.html#Q_FUNC_INFO
Ok, die Möglichkeiten sind beide etwas geschwätziger :-) als ich es mir vorstelle, entsprechen aber schon ehr dem was ich will. Danke!
Gibt es eigentlich auch die Möglichkeit innerhalb einer Memberfunktion an den Namen einer Klasse zu kommen?
typeid(*this).name() Das ist in Gegensatz zu dem Makro-Müll sehr viel sauberer und sogar recht portabel.
Rainbow_Dash schrieb: > typeid(*this).name() > > Das ist in Gegensatz zu dem Makro-Müll sehr viel sauberer und sogar > recht portabel. Aber für den Funktionsnamen brauch ich schon den "Makro-Müll", oder?
Für Debug/Fehler-Ausgaben. Wenn ich z.B. eine Exception werfe, möchte ich ihr die Information mitgeben, wo sie her kommt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.