【发布时间】:2014-10-13 08:50:29
【问题描述】:
试图理解来自wikipedia的样本
template <int length>
Vector<length>& Vector<length>::operator+=(const Vector<length>& rhs)
{
for (int i = 0; i < length; ++i)
value[i] += rhs.value[i];
return *this;
}
template <>
Vector<2>& Vector<2>::operator+=(const Vector<2>& rhs)
{
value[0] += rhs.value[0];
value[1] += rhs.value[1];
return *this;
}
首先我根本无法编译它。我收到错误语法错误:missing ';' before '<'
第二个问题是如何使用它?
据我了解模板名称Vector 与std::vector 不同。
【问题讨论】:
-
这只是
Vector类的一部分。它不能单独编译。你还需要调用代码来测试它。
标签: c++ metaprogramming template-meta-programming