How can I force a compile error in C++?

c++, compilation, compiler-errors, debugging, output

Solution

Use `#error`:

#error "YOUR MESSAGE"

This produces an error from the preprocessor. If you want to detect an error at a later stage (e.g. during template processing), use `static_assert` (a C++11 feature).

Problem

I would like to create a compile-time error in my C++ code with a custom error message. I want to do this for a couple of reasons: - to force compilation to fail while I'm working on new features which haven't been implemented yet. (compile time ! TODO reminder) - to create a more readable error when attempting to implement an unsupported template specialization. I'm sure there is a trick to doing this but I cant find a resource explaining the method. I would wrap the code in a #define of the form COMPILE_FAIL("error message"); Thanks D

Original source

Related problems