4
私が持っている場合は、なぜ値渡しでrvalue overload C++関数呼び出しを渡すのがあいまいですか?
void foo(Bar c);
void foo(Bar&& c);
foo(Bar());
はなぜ 'foo' での呼び出しがあいまいなのですか? foo引数のBar()は明らかにrValueではありませんか?
私が持っている場合は、なぜ値渡しでrvalue overload C++関数呼び出しを渡すのがあいまいですか?
void foo(Bar c);
void foo(Bar&& c);
foo(Bar());
はなぜ 'foo' での呼び出しがあいまいなのですか? foo引数のBar()は明らかにrValueではありませんか?
リファレンスへのバインドは、非参照へのバインディングと同様に「完全一致」であるため、両方のオーバーロードが同じように良好です。 Standardeseで
、これは13.3.3.1.4( "結合リファレンス"、[over.ics.ref])である:参照型のパラメータがANに直接(8.5.3)に結合する場合
重複している:[移動意味でのメソッドのオーバーロード](http://stackoverflow.com/q/38847321/514235) – iammilind