#error directive (C/C++)
The #error directive emits a user-specified error message at compile time, and then terminates the compilation.
The error message that this directive emits includes the token-string parameter. The token-string parameter is not subject to macro expansion. This directive is most useful during preprocessing, to notify the developer of a program inconsistency, or the violation of a constraint. The following example demonstrates error processing during preprocessing:
#if !defined(__cplusplus) #error C++ compiler required. #endif