時々、私はオペレーターのオーバーロードの間違いを犯し、g++ が不可解なコンパイラ エラー メッセージの気のめいるような量を生成する原因となります。次の例を考えてみましょう。
int someValue ;
vector <vector <int> > 2d ;
while(2d [i] > someValue) someFunction();
明らかに、「2d」ベクトルの 2 番目のインデックスがありません。残念なことに、g++ は「大なり」演算子の一致が見つからなかったことを簡潔に報告する代わりに、標準ライブラリの奥深くに埋もれているいくつかの本当に厄介なものを含め、比較操作に部分的に一致するすべてのオーバーロード候補をおぞましいほど詳細にリストします。
なぜこれがオーバーロードの失敗を処理するための好ましい方法なのかについて、誰かが洞察を提供できますか?、このコンパイラ出力を制限または削減するオプションはありますか?、thx.