1. ホーム
  2. c++

[解決済み] assertでカスタムメッセージの追加?

2022-05-03 03:42:02

質問

assertで投げるメッセージを追加・編集する方法はありますか?以下のようなものを使いたいのですが

assert(a == b, "A must be equal to B");

次に、コンパイラは ライン , 時間 などなど...。

可能なのでしょうか?

どのように解決するのですか?

私が見たことのあるハックとしては && 演算子を使用します。ポインタの "is true" が非 NULL ならば、条件を変更することなく、以下のようにすることができます。

assert(a == b && "A is not equal to B");

以降 assert は失敗した条件を表示するので、あなたのメッセージも表示されます。もし物足りないようなら、自分で myAssert 関数やマクロで好きなように表示することができます。