1

如何在单独的.cpp文件中实例化类模板的可变成员函数模板?比如说,给定一组文件中的上述类模板:a.hpp具有接口的定义,a_impl.hpp具有实现和a.cpp实例化, - 它依次包括链中的每个前一个,但只有第一个对类的用户可见(而不是开发商)。

对空参数包的情况特别感兴趣。

4

1 回答 1

2
template <class A>
struct AA
{
  template<class Z, class... Q>
  void aa(double, Q... q) {};
};

template void AA<int>::aa<char>(double);
template void AA<int>::aa<char, char*>(double, char*);
template void AA<int>::aa<char, char*, char**>(double, char*, char**);

Note that in your setup only the "developer" can instantiate (one needs to see the implementation in order to be able to instantiate).

于 2013-05-22T14:22:40.053 回答