Shows the given error message and renders the program ill-formed, or shows the given warning message without affecting the validity of the program (since C++23).
#error diagnostic-message | (1) | |
#warning diagnostic-message | (2) | (since C++23) |
#error
directive, an implementation displays the message diagnostic-message and renders the program ill-formed (the compilation stops).diagnostic-message can consist of several words not necessarily in quotes.
Before its standardization in C++23, #warning
has been provided by many compilers in all modes as a conforming extension.
#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"; }
Possible output:
The implementation used is hosted
C documentation for Diagnostic directives |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/preprocessor/error