0
我對C++相對來說比較陌生,所以很簡單。當assert得到的東西評估爲false時,我在終端中得到:C++如何聲明一個字符串的訪問輸入
test: test.cpp:185: void test(): Assertion `actual == testing` failed.
Aborted
assert如何獲取輸入爲字符串?不會斷言「看到」是真是假?
我對C++相對來說比較陌生,所以很簡單。當assert得到的東西評估爲false時,我在終端中得到:C++如何聲明一個字符串的訪問輸入
test: test.cpp:185: void test(): Assertion `actual == testing` failed.
Aborted
assert如何獲取輸入爲字符串?不會斷言「看到」是真是假?
您可以將自己的assert版本實現爲一個宏。這可能是也可能不是你的編譯器如何實現它。
由於#something
將擴大到它的字符串化版本,你可以這樣做:
#define str(s) #s
#define assert(x) if(!x) {print(".... Assertion `" str(s) "` failed.")
更多信息請參見GCC docs。
可能重複[如何使用宏參數作爲字符串?](http://stackoverflow.com/questions/10507264/how-to-use-macro-argument-as-string-literal) –
你是什麼assert語句看起來像,將代碼添加到問題 - 答案在於該信息 – Soren
我想刪除它,因爲這個問題沒有添加更多東西已經回答。 –