問題タブ [catch2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
134 参照

c++ - Catch2: クラスを名前空間に移動した後、オーバーロードされたストリーム演算子が INFO によって認識されない

私のコードでは、クラス ByteArray (単なるバイトのベクトル) のストリーム演算子をオーバーロードしました。

およびtest.cppこのクラスを使用する using Catch2

名前空間を導入しない限り、これはうまくいきました

今、コンパイラは不平を言います

ただし、で使用するframestd::cout、これは正常に機能します

したがって、コンパイラは演算子を適切に解決できると思います。また、インクルード ファイルの順序を変更し、クリーンなリビルドを試みましたが、成功しませんでした。

何か案は?ありがとう

0 投票する
1 に答える
311 参照

c++ - Catch2 リンカー エラー

Catch2プロジェクトにサブモジュールとして追加しCatch2/include/catch.hpp、次のコードを使用してヘッダーを含めました。

testmain.cpp:

しかし、リンカーエラーが発生します:

私は何を間違っていますか?Catch2 はヘッダーに自己完結型であるはずで.cpp、シンボルを提供するためのファイルは必要ないと思いましたか?