暗黙的変換シーケンスは、関数呼び出しの中の引き数を、
関数宣言の中の対応するパラメーターの型へ変換するのに必要な変換のシーケンスです。
コンパイラーは、各引き数に対する暗黙的変換シーケンスを決定しようとします。コンパイラーは次に、 各暗黙的変換シーケンスを 3 つのカテゴリーの中の 1 つにカテゴリー化し、カテゴリーに応じてそれらをランク付けします。コンパイラーは、引き数に対する暗黙的変換シーケンスを検出できないようなプログラムは、許可しません。
以下に、変換シーケンスの 3 つのカテゴリーを、最良から最悪への順序で示します。
注: 2 つの標準変換シーケンスまたは 2 つのユーザー定義の変換シーケンスが、 異なるランクを持つことがあります。
標準変換シーケンスは、3 つのランクの中の 1 つにカテゴリー化されます。 ランクは、最良から最悪への順序でリストされています。
コンパイラーは、標準変換シーケンスを、その最悪ランクの標準変換によってランク付けします。 例えば、標準変換シーケンスが浮動小数点変換を持っている場合、 そのシーケンスは、変換ランクを持っていることになります。
ユーザー定義の変換シーケンス は、以下のもので構成されています。
ユーザー定義の変換シーケンス A およびユーザー定義の変換シーケンス B の両者が、同じユーザー定義の型変換関数またはコンストラクターを持っていて、A の 2 番目の標準変換シーケンスが、B の 2 番目の標準変換シーケンスよりも良ければ、 前者の方がいいランクの変換シーケンスです。
省略符号変換シーケンス は、コンパイラーが関数呼び出しの中の引き数を、 対応する省略符号パラメーターに突き合わせるときに生じます。
関連参照