Diagnoseanweisungen
Von cppreference.com
< cpp | präprozessor
Zeigt die angegebene Fehlermeldung an und macht das Programm fehlerhaft, oder zeigt die angegebene Warnmeldung an, ohne die Gültigkeit des Programms zu beeinträchtigen(seit C++23).
Inhalt |
[bearbeiten] Syntax
#error diagnose-nachricht |
(1) | ||||||||
#warning diagnose-nachricht |
(2) | (seit C++23) | |||||||
[bearbeiten] Erklärung
1) Nach dem Auftreten der #error-Anweisung zeigt eine Implementierung die Nachricht diagnose-nachricht an und macht das Programm fehlerhaft (die Kompilierung wird beendet).
2) Wie unter (1) beschrieben, außer dass die Gültigkeit des Programms nicht beeinträchtigt wird und die Kompilierung fortgesetzt wird.
diagnose-nachricht kann aus mehreren Wörtern bestehen, die nicht notwendigerweise in Anführungszeichen stehen.
[bearbeiten] Anmerkungen
Vor der Standardisierung in C++23 wurde #warning von vielen Compilern in allen Modi als konforme Erweiterung bereitgestellt.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#if __STDC_HOSTED__ != 1 # error "Not a hosted implementation" #endif #if __cplusplus >= 202302L # warning "Using #warning as a standard feature" #endif #include <iostream> int main() { std::cout << "The implementation used is hosted\n"; }
Mögliche Ausgabe
The implementation used is hosted
[bearbeiten] Referenzen
- C++23 Standard (ISO/IEC 14882:2024)
- 15.8 Error directive [cpp.error]
- C++20 Standard (ISO/IEC 14882:2020)
- 15.8 Error directive [cpp.error]
- C++17 Standard (ISO/IEC 14882:2017)
- 19.5 Error directive [cpp.error]
- C++14 Standard (ISO/IEC 14882:2014)
- 16.5 Error directive [cpp.error]
- C++11 Standard (ISO/IEC 14882:2011)
- 16.5 Error directive [cpp.error]
- C++03-Standard (ISO/IEC 14882:2003)
- 16.5 Error directive [cpp.error]
- C++98 Standard (ISO/IEC 14882:1998)
- 16.5 Error directive [cpp.error]
[bearbeiten] Siehe auch
| C-Dokumentation für Diagnoseanweisungen
|