テンプレートが C で定義されていないことはわかっています。ただし、私の場合、C で記述されたアプリケーションで使用される C++ で記述された API があります。API にテンプレート関数を追加したいと考えています。この関数は、abc.cpp で次のように定義されています。
template<typename T> T function_name(T param1){
...
...
return val;
}
abc.hpp の宣言は次のとおりです。
template<typename T> T function_name(T);
この関数は xyz.c から次のように呼び出されます。
int a ,b = 5;
a = function_name(b);
ただし、abc.cpp と abc.hpp の両方で次のエラーが表示されます。
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
template<typename T>
extern "C" を使用しても役に立ちません (エラーにつながります: C リンケージを持つテンプレート)。私の疑問は、このテンプレート関数をそのような方法で呼び出すことさえ可能ですか? はいの場合、どうすればこれを達成できますか? ありがとうございました。