戻り型を除いて同一の関数型に関数をキャストできないのはなぜですか?、関数の型と関数のシグネチャの違いをより完全に理解したいと思います。
たとえば、関数の型は通常、関数ポインタを処理するときに考慮する必要があり、関数の型にはその関数の戻り型が含まれます。
ただし、上記の質問に対するMike Seymourの回答に記載されているように、関数のシグネチャは関数のタイプとは異なります。シグニチャは、潜在的なオーバーロードされた関数の中から明確にするために確かに使用されます(関数の戻りタイプは一意の関数を識別する役割を果たさないことに注意してください)。しかし、ここで、関数のシグネチャと関数の型の関連性と重要性を理解したいと思います。C ++の関数シグネチャの唯一の目的は、過負荷の解決中に、過負荷の候補や過負荷セット内の一意の関数を識別することであると私は思います。
私は正しいですか?過負荷解決はC++の関数シグネチャの唯一の目的ですか?または、過負荷の解決以外に(または間接的にのみ関連する)関数シグネチャのその他の使用/アプリケーションはありますか?
補遺明確にするために、私は特に関数シグネチャの目的と関数型の違いを理解しようとしていることに注意してください。つまり、関数ポインターの使用と、コンパイラー/リンカーによる呼び出し規約の実装の両方に関数型が必要であることを私は知っています。ただし、呼び出し規約は、過負荷の解決が完了した後にのみ関係します。私はここで、具体的には、(タイプではなく)関数シグネチャの唯一の目的が過負荷の解決であるかどうかを尋ねています。