小编And*_*ndy的帖子

默认模板参数部分特化

请向我解释为什么以下代码符合并完美运行.我很迷茫.

#include<iostream>
template<class A = int, class B=double>
class Base
{};

template<class B>
class Base <int, B>
{
public:
  Base()
  {
     std::cout<<"it works!!!!!\n";
  }
};

int main()
{
  Base<> base; // it prints "it works!!!!!"
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

它不应该属于模板类Base的通用形式吗?

c++ templates specialization default-parameters

47
推荐指数
1
解决办法
9863
查看次数