- 43 名前:デフォルトの名無しさん [2022/11/10(木) 13:24:55.21 ID:Ma0XsUW1M.net]
- >>37
[補足4] fという名前だが仮引数の型が異なる持つ関数f()が複数ある場合は、 f(a); と書いた場合、aの部分が完全に意味解釈されて、aの型が完全に決まってから、 どのf()が呼び出されるかを選択。 選択されたf()の仮引数の型Tと実引数aの型を比較して、異なっていれば、 aの型をTに変換する変換関数を呼び出し、変換後の値を関数f()の引数として 関数f()を呼び出す。 ところが、初期化子の場合、 T v = b; と書くと、bの型を軽く調査するが、完全には b が意味解釈される前にどの T のコンストラクタ を呼び出すべきかの調査が始まる。その時点では、bの型は完全には決まってない。
|

|