devxlogo

The #error Preprocessor Directive

The #error Preprocessor Directive

During the preprocessing phase, you can report errors by using the #error preprocessor directive. For example, suppose you have a program that uses 64-bit integers. This program has to be ported to various platforms. Since C++ doesn’t define a standard 64-bit int type yet, each compiler uses a different type, and some compilers don’t support 64-bit integers at all. A portable program can use the following preprocessor directives to make sure that the use of 64-bit integers is transparent to the target compiler. If the target compiler doesn’t support 64-bit integers, the #error directive causes it to produce a diagnostic message that includes a user-supplied string and stops the compilation process:

 #if defined((__BORLANDC__) || defined(__VISUALC32__)) #  define INT64 __int64 // then use the __int64 type#elif defined(__GNUC__) // GCC doesn't support __int64#  define INT64 long long // but uses 'long long' instead#else#  error

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist