为什么C ++标准不允许函数模板部分特化?

时间:2016-11-17 10:41:30

标签: c++ templates partial-specialization

在你投票之前,是的,我可以从Stroustrup那里读到整本书,在那里它可能写在某个地方而不是。但也许有人问自己同样的问题,并找到了一个很好的答案。至少对我而言,这似乎很方便。

我读到了编译器编写

可能会让人困惑的事情
template <class T>
void calculator<std::complex<T>>::myMin();

但也许只是给它一个暗示?要明确这是一个部分专业化。

template < , class T>
void calculator<std::complex<T>>::myMin();

1 个答案:

答案 0 :(得分:1)

来自上面评论中@danh 链接的http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#229

<块引用>

10/00 会议记录:

函数模板的部分特化思想的一个主要问题是函数模板可以被重载,这与类模板不同。简单地命名特化中的函数模板,就像对类特化所做的那样,不足以识别被特化的模板。