テンプレート関数を明示的にインスタンス化する
C では、テンプレート関数を明示的にインスタンス化すると、関数を呼び出さずにインスタンス化できます。説明に基づいてこれを実現する方法は次のとおりです。
あなたが言及したエラー、「'template' の前にプライマリ式が必要です」は、コードの形式が間違っていることを示唆しています。テンプレート関数をインスタンス化するには、次の構文を使用する必要があります:
template int function_name<int>(int);
ただし、このコードは関数をインスタンス化するのではなく、int に特化します。テンプレート関数を明示的にインスタンス化するには、次の構文を使用します。
template void function_name<int>(int);
この場合、テンプレートの後に山括弧は使用されず、テンプレート引数は括弧内に指定されます。これにより、特殊なバージョンを定義せずに、int のテンプレート関数が明示的にインスタンス化されます。
以上がC でテンプレート関数を明示的にインスタンス化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。