2009-03-03 11 views
0

Gerçekten gitmek istiyorum: (C++)Boost veya STL ile Özel Bir Dize Görüntüleyebilecek C++ İddiaları?

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

C# XNA'da tam olarak bunu yapan bir metod var:

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

Bunu yapmanın bir yolu var mı? çalışma zamanı bana sadece "bir iddia başarısız" hatası değil anlam tam bir hata verir?

+0

Hata mesajı olarak yazdırmak istediğiniz nedir? – dirkgently

cevap

7

Çoğu herhangi iddianın bu kullanabilirsiniz:

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

+1 - Bunu çözümümden daha iyi seviyorum. – Ferruccio

+0

LOL çok basit. Teşekkür ederiz! Kabul edilen cevap: D –

3

Use assert (num> 0 & & "Numara sıfırdan büyük olmalıdır!"); Eğer böyle bir şey yapmak, böylece

5

çalışma zamanı genellikle başarısız ifadesini görüntüler:

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

mantığını etkilemez, ancak onaylama işlemi hatası mesajı açıklayıcı dize içerecektir. Ayrıca, bu, STL'ye veya Boost'a ihtiyaç duymadan çalışır.