代码之家  ›  专栏  ›  技术社区  ›  liori

完全专业化的模板和dllexport

  •  2
  • liori  · 技术社区  · 14 年前

    Microsoft说:“模板不能用于用uu declspec(dllimport)或u declspec(dllexport)声明的函数。”( link )

    这是什么意思?我可以导出一个具有完全专门化的模板类引用的函数作为参数吗?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Georg Fritzsche    14 年前

    那不是一个 dllexport / dllimport -具体问题,它是模板的一个一般问题-目前只有一个编译器实现了 export 模板,参见 Comeaus template FAQ 详情。

    但是,完全专用的模板是不同的具体类型,基本上可用于 __declspec 分机,但有 limitations 除了你链接的条目。

    就我个人而言,我主要是在这里避免使用界面中的模板,只在内部使用它们——我不知道花时间在解决这些限制上会给你带来什么好处。

        2
  •  1
  •   MSalters    14 年前

    这意味着你不能 dllexport 功能模板 采取一 std::basic_string<T>& 但是你当然可以 DLL输出 功能 采取一 std::string& .

    也见 http://msdn.microsoft.com/en-us/library/twa2aw10(VS.80).aspx