以下の関数がライブラリに含まれているとする。
template <typename T>
void hoge(T h);
テンプレート関数がライブラリに含まれている場合、ライブラリがリンク先でどのような型でこの関数が使われるかわからないため、リンクに失敗する。
ライブラリ内に以下のように宣言することで解決する。
例:double
型で使用。
template <typename T>
void hoge(T h);
template void hoge(double h);
More than 5 years have passed since last update.
以下の関数がライブラリに含まれているとする。
template <typename T>
void hoge(T h);
テンプレート関数がライブラリに含まれている場合、ライブラリがリンク先でどのような型でこの関数が使われるかわからないため、リンクに失敗する。
ライブラリ内に以下のように宣言することで解決する。
例:double
型で使用。
template <typename T>
void hoge(T h);
template void hoge(double h);
Register as a new user and use Qiita more conveniently