Namensräume
Varianten
Aktionen

Diagnoseanweisungen

Von cppreference.com

Zeigt die angegebene Fehlermeldung an und macht das Programm ungültig, oder die angegebene Warnmeldung, ohne die Gültigkeit des Programms zu beeinträchtigen(seit C23).

Inhalt

[bearbeiten] Syntax

#error diagnose-meldung (1)
#warning diagnose-meldung (2) (seit C23)

[bearbeiten] Erklärung

1) Nach der Begegnung mit der Direktive #error zeigt eine Implementierung die Meldung diagnose-meldung an und macht das Programm ungültig (die Kompilierung stoppt).
2) Das Gleiche wie (1), außer dass die Gültigkeit des Programms nicht beeinträchtigt wird und die Kompilierung fortgesetzt wird.

diagnose-meldung kann aus mehreren Wörtern bestehen, die nicht unbedingt in Anführungszeichen stehen.

[bearbeiten] Hinweise

Vor seiner Standardisierung in C23 wurde #warning von vielen Compilern in allen Modi als konforme Erweiterung bereitgestellt.

[bearbeiten] Beispiel

#if __STDC__ != 1
#  error "Not a standard compliant compiler"
#endif
 
#if __STDC_VERSION__ >= 202311L
#  warning "Using #warning as a standard feature"
#endif
 
#include <stdio.h>
 
int main (void)
{
    printf("The compiler used conforms to the ISO C Standard !!");
}

Mögliche Ausgabe

The compiler used conforms to the ISO C Standard !!

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 6.10.5 Error directive (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 6.10.5 Error directive (p: 126-127)
  • C11-Standard (ISO/IEC 9899:2011)
  • 6.10.5 Error directive (p: 174)
  • C99-Standard (ISO/IEC 9899:1999)
  • 6.10.5 Error directive (p: 159)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 3.8.5 Error directive

[bearbeiten] Siehe auch

C++ Dokumentation für Diagnoseanweisungen