我有一个模板类,带有一个复制构造函数:
struct index_method {/*whatever*/};
template <class A, class B>
class ExampleClass
{
public:
ExampleClass(void) {}
template <class C>
ExampleClass( const ExampleClass<A,C>& src_, const B& b_ = B() ) : _b(b_) { }
private:
B _b;
};
以下模板构造函数特化由 gcc 4.7.0 正确编译:
template <>
template <>
ExampleClass<double,index_method>::ExampleClass<index_method>( const ExampleClass<double,index_method>& src_, const index_method& b_ )
: _b(b_)
{
}
但它在 MSVC 中存在问题:
基于另一个主题,我为 MSVC 尝试了一个更简单的代码:
ExampleClass<double,index_method>::ExampleClass<index_method>( const ExampleClass<double,index_method>& src_, const index_method& method_ )
: _b(method_)
{
}
但它也不起作用。
有没有办法在 MSVC 2012 中为模板类指定模板复制构造函数?