以下代码出现错误:
为什么会这样呢?
error: ‘struct Foo’ is not a valid type for a template constant parameter
:template <struct Foo>
struct Bar {
};
为什么会这样呢?
template <class Foo>
struct Bar {
};
这个功能完全正常,甚至可以接受一个结构体作为参数。
class
,要么使用typename
,从我的角度来看,typename
更能描述正在发生的事情,否则人们会尝试用struct
替换它,原因不明...template <typename Foo>
意味着有一个我将称之为Foo
的type
,它将在编译期间被实际使用的类型所替换... - stefanB