具有多个可选参数的C ++部分特化

时间:2017-01-06 22:16:09

标签: c++ templates template-specialization

尝试使用多个参数进行部分特化。听起来像是

template <class T, int E=0>
class Info
{
public:
  Info& operator=(double rhs);
  T data;
};


template<int E> Info<std::string, E> &Info<std::string, E>::operator=(double rhs) {
    data = rhs;
    return *this;
}

但无法编译并获得

error: invalid use of incomplete type 'class
info<std::__cxx11::basic_string<char>, E>'  template<int E>
Info<std::string, E> &Info<std::string, E>::operator=(double rhs)...

更新
似乎不可能做部分规范。有多个参数(可选或不...)我错了吗?

0 个答案:

没有答案