【发布时间】:2015-01-24 14:38:38
【问题描述】:
当试图编译这段代码时:
template <class URNG>
struct Dumb : Brain<Dumb, URNG>
{
Move operator()(const Rat<Dumb, URNG>& rat, URNG&& urng)
{
Move move;
move.x = 1;
move.y = 0;
//rat.look(1, 2);
//rat.getDna(35);
return move;
}
};
clang 3.2.7 raise,这个奇怪的错误我不明白:
main.cpp:10:28: error: template argument for template template parameter must be a class template or type alias template
Move operator()(const Rat<Dumb, URNG>& rat, URNG&& urng)
^
Dumb 是一个类模板不是吗?
按照 cmets 的要求,这是老鼠的样子:
template <template <class> class BRAIN, class URNG>
class Rat
{
//...
}
【问题讨论】:
-
Rat的定义是什么? -
我刚刚添加了老鼠模板的样子。
-
@πάνταῥεῖ 我想你可能是对的...... :)
标签: c++ templates c++11 template-templates