2009-10-27 76 views
2

是否可以讓BOOST_STATIC_ASSERT給出自定義編譯錯誤消息?我相信下面就是試圖做到這一點的代碼庫我參與的工作BOOST_STATIC_ASSERT可以給出一個自定義的編譯錯誤字符串嗎?

BOOST_STATIC_ASSERT((MAX_NUMBER_OF_USERS == 15) && ("MAX_NUMBER_OF_USERS is no longer set to 15")); 

我個人我不知道該錯誤信息給所有的事 - 我寧願把它放在一個評論下一到斷言。

+1

另外,來自C++ 0x的static_assert(condition,「message」)應該已被廣泛支持。 – UncleBens 2009-10-27 16:30:18

回答

2

對於靜態斷言,我會建議:

BOOST_MPL_ASSERT_MSG

你傳似「消息」一個C++標識符,它就會出現錯誤流。

+0

我會補充說,其他BOOST_MPL_ASSERT宏比靜態斷言更好,因爲錯誤消息中有很多*。 – KitsuneYMG 2009-10-27 23:29:22

相關問題