A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../algorithm/../ranges/../preprocessor/warning.html below:

Diagnostic directives - cppreference.com

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).

[edit] Syntax #error diagnostic-message (1) #warning diagnostic-message (2) (since C++23) [edit] Explanation

1) After encountering the #error directive, an implementation displays the message diagnostic-message and renders the program ill-formed (the compilation stops).

2) Same as (1), except the validity of the program is not affected and the compilation continues.

diagnostic-message can consist of several words not necessarily in quotes.

[edit] Notes

Before its standardization in C++23, #warning has been provided by many compilers in all modes as a conforming extension.

[edit] Example
#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
[edit] References
[edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4