2009-03-03 6 views
0

私は本当に行くことができるようにしたい:ブーストまたはSTLでカスタム文字列を表示できるC++アサーション?

Debug.Assert(num > 0, "The number must be greater than zero!"); 

はので、これを行うにはいくつかの方法があります:(C++で)C#XNAで

assert(num > 0, "The number must be greater than zero!"); 

、彼らはまさにこれを行う方法を持っていますランタイムは私に "アサーションが失敗しました"というエラーだけでなく、完全なエラーを意味するのでしょうか?

+0

何をエラーメッセージとして印刷しますか? – dirkgently

答えて

7

あなたは、ほとんどすべてのアサーションでこれを使用することができます。

assert(("The number must be greater than zero!", num > 0)); 
+0

+1 - 私はそれが私の解決策よりも好きです。 – Ferruccio

+0

LOLはとてもシンプルです。 ありがとうございました!受け入れられる答え:D –

3

assertを使用してください(num> 0 & &「数値はゼロより大きくなければなりません!」)。あなたはこのような何か行うことができますので、

5

ランタイムは通常、失敗した式が表示されます。

assert(num > 0 && "The number must be greater than zero!"); 

ロジックには影響を与えませんが、アサーション失敗メッセージは説明的な文字列が含まれます。

さらに、これはSTLまたはブーストを必要とせずに機能します。

0

http://www.boost.org/doc/libs/1_50_0/libs/utility/assert.htmlで説明したように、あなたが彼らのアサートを使用することができますBOOSTを使用する:要求されたとして

#include <boost/assert.hpp> 
/* ... */ 

BOOST_ASSERT_MSG(num > 0, "The number must be greater than zero!"); 

正確に行うだろう。

関連する問題