Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2008-06-23 20:47:13

David Abrahams wrote:
> Beman Dawes wrote:
> ...
>> Also, C++0x static_assert is becoming available in more compilers;
>> should all of the Boost compile-time asserts use C++0x static_assert if
>> available?
> Without knowing anything about how good the error messages are that one
> gets from static_assert, I'd say "probably."

Sample program:

   int main()
     static_assert(1+1==3, "Everyone knows 1+1 == 4");
     return 0;

Output from a beta compiler:

   Error E2538 temp3.cpp 3: Static assert failed: 'Everyone knows 1+1 ==
   4' in function main()
   *** 1 errors in Compile ***

That's what I'd expect from most compilers; the file name and line
number of the failure, and an echo of the second argument to static_assert.

So it comes down to writing informative error messages. I like the ones
that say both what is wrong and what to do to fix it, but that's often
hard to do in limited space.


Boost list run by bdawes at, gregod at, cpdaniel at, john at