1

作業を簡単にするために DLL ファイルに関数テンプレートを追加しようとしましたが、これまでに失敗しました。関数テンプレートを DLL ヘッダーに配置しようとしても、まだ機能しません。コンパイラは常に迷惑な未解決のメッセージを表示します他のプログラムで DLL を使用しようとするたびに、外部シンボル エラー (ビジュアル スタジオ) が発生します。

とにかくDLLで関数テンプレートを使用することはありますか(すべての関数テンプレートをDLLの代わりにスタンドアロンヘッダーファイルに単純に入れることができることは知っていますが、それはプログラムのメンテナンスを混乱させます)。

私がDLLでやりたいことは次のようなものです:

    template<typename T>int foo(T*x){...};

次に、次のように呼び出します。

    fooINT(int* x){ return foo<int>(x);};

DLL はコンパイルできますが、常にエラーが発生します。

__declspec(dllimport) の未解決の外部シンボル

Visual Studio がこの DLL を呼び出すプログラムでコンパイルされるたびに。

4

0 に答える 0