This answerに何が起こったのかと重複しているので、C++コードから取り出したCヘッダーにを使用し、std::*
で呼び出す必要があることを示しています。std :: assert
私はそれをやっていますが、私は例外が気づいています。 std::assert
は私が正しく#include <cassert>
でも定義されていないようです。
ここでは何が起こっていますか?これは実装監督ですか、実際の例外ですか?
This answerに何が起こったのかと重複しているので、C++コードから取り出したCヘッダーにを使用し、std::*
で呼び出す必要があることを示しています。std :: assert
私はそれをやっていますが、私は例外が気づいています。 std::assert
は私が正しく#include <cassert>
でも定義されていないようです。
ここでは何が起こっていますか?これは実装監督ですか、実際の例外ですか?
assert
はマクロであり、関数ではありません。したがって、それは普通の古いassert(condition)
と一緒に使用する必要があります。
ここにはサポートリンクhttp://en.cppreference.com/w/cpp/error/assertがあります。
ちょうどここでサポートリンクが役立つかもしれないと思った:http://en.cppreference.com/w/cpp/error/assert –
assert
はマクロなので、名前空間に制限することはできません。
'assert'は[マクロ](http://en.cppreference.com/w/cpp/error/assert) – smac89
' assert'はネームスペースで使用できないマクロとして実装されている可能性が高いインライン関数のような言語識別子を生成しません) – myaut
@CaptainObvliousリンクのおかげで、それはそれまでの唯一の公式の情報です。 –