- 18 名前:はちみつ餃子 mailto:sage [2025/05/05(月) 17:57:32.37 ID:7tS1Ts+e0.net]
- >>17
まさに「諸々に配慮」と述べた部分がそれでね……。 ここで定義した operator<< と元からある operator<< の両方が char を受け取ることが可能なので どちらを呼び出すべきか曖昧なオーバーロード (ambiguous overload) になってしまっている。 ちゃんとやる場合はここで定義する operator<< が受け取れるのはコンテナに限定しなければならない。 型に制約を付ける真っ当な方法が入ったのは C++20 からなのでそれ以前の C++ でやろうとすると回りくどいんだよ。 C++11 でなるべく簡素に書くとしたらこんな感じかな。 https://wandbox.org/permlink/Hli0dW7vNwSICQmp
|

|