我遇到了以下问题。我有以下模板Number
:作为模板参数的C++模板
template<int n>
struct Number
{
static const int value = n;
};
现在假设我想在编译时增加两个这样的数字。具体而言,我想下面的代码片段工作:
//The following code should display 7:
std::cout << Number_add< Number<3>, Number<4> >::value << std::endl;
我想是这样的,但我的编译器不喜欢它。
template<Number<int> n1, Number<int> n2>
struct Number_add
{
static const int value = n1::value + n2::value;
}
什么是落实Number_add正确的方法是什么?我认为模板模板参数可能在这里需要,但我无法让它工作。帮助将不胜感激。
'模板<类N1,N2类>结构Number_add' –
嗯,它的作品,非常感谢! – arriopolis