Namespaces
Variants

Diagnostic directives

From cppreference.net

Zeigt die gegebene Fehlermeldung an und macht das Programm fehlerhaft , oder gibt eine Warnmeldung aus ohne die Gültigkeit des Programms zu beeinflussen (seit C23) .

Inhaltsverzeichnis

Syntax

#error Diagnose-Nachricht (1)
#warning Diagnose-Nachricht (2) (seit C23)

Erklärung

1) Nach dem Auftreten der #error -Direktive zeigt eine Implementierung die Meldung diagnostic-message an und macht das Programm fehlerhaft (die Kompilierung wird abgebrochen).
2) Gleich wie (1) , mit der Ausnahme, dass die Gültigkeit des Programms nicht beeinträchtigt wird und die Kompilierung fortgesetzt wird.

diagnostic-message kann aus mehreren Wörtern bestehen, die nicht unbedingt in Anführungszeichen stehen müssen.

Hinweise

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

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 !!

Referenzen

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

Siehe auch

C++-Dokumentation für Diagnose-Direktiven