Gibt es Q_OBSOLETE oder Q_DEPRECATED in C ++ mit Qt 4.7?
Oder gibt es ein ähnliches C ++ Makro oder Schlüsselwort?
Mit "veraltete Konstrukte" meinen Sie eigentlich "veraltete Mitgliederfunktionen". Sie fragen nach einer Kompilierungswarnung, um Ihre Aufmerksamkeit auf die Aufrufseite einer veralteten Funktion zu lenken.
Dies ist in Standard C ++ nicht in irgendeiner vernünftigen Weise möglich, und ich sehe keine Attribute in G ++, die dies unterstützen würden. Qt kann ein solches Feature nicht wirklich hinzufügen, wenn der Compiler noch keine Unterstützung dafür hat.
Microsoft Visual C ++ unterstützt jedoch eine Erweiterung __declspec(deprecated)
und ich würde mir vorstellen, dass es möglich ist, ein Compiler-Plugin für G ++ 4.5 zu schreiben, das ein ähnliches Feature hinzufügt.
Wenn Sie Q_DECL_DEPRECATED verwenden, sollten Sie das Ergebnis erhalten, nach dem Sie suchen, z. B .:
%Vor%Benutze einfach das
%Vor%Richtlinie
Obwohl es nicht der C ++ - Standard ist, ist es ziemlich unwahrscheinlich, dass Sie auf einen Compiler stoßen, der das nicht unterstützt ( Siehe diese SO Frage ).
Vielleicht möchten Sie selbst etwas ähnliches tun:
%Vor% Diese Konstruktion ersetzt einfach einen veralteten Code / Teil des Codes, wenn Q_TREAT_OBSOLETE_AS_ERRORS
nicht definiert ist und generiert sonst einen Fehler bei der Kompilierung.
Beachten Sie, dass BOOST_STATIC_ASSERT
keine Bereichsbeschränkungen hat, ebenso das Makro Q_OBSOLETE
.
Wahrscheinlich ist dies nicht der beste Weg, um Ihr Problem zu lösen, und ich bin mir nicht sicher, ob das nützlich ist.
Sie können den Code einfach als @obsolete
markieren oder einfach in den Kommentaren darauf hinweisen.
Tags und Links c++ qt qt4 obsolete deprecated