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

Hak*_*hin 9 c++ templates partial-specialization

我读了一些编译器编写可能会令人困惑的内容

template <class T>
void calculator<std::complex<T>>::myMin();
Run Code Online (Sandbox Code Playgroud)

但也许只是给它一个提示?明确表示它是部分专业化。

template < , class T>
void calculator<std::complex<T>>::myMin();
Run Code Online (Sandbox Code Playgroud)

fwy*_*ard 10

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

10/00 会议记录:

对函数模板部分特化的想法的一个主要关注点是函数模板可以重载,这与类模板不同。简单地命名特化中的函数模板(如类特化所做的那样)不足以识别正在特化的模板。

  • 因为并非每个人都愿意点击链接并在该链接文档中查找相关文本。 (10认同)