我认为只有在实例化时才编译模板类。
在源文件中考虑
template<unsigned N>
class wumpus
{
enum {value = N};
};
template<>
class wumpus<0>
{
static_assert(false, "Why am I being compiled?");
};
编译器&#34;评估&#34; static_assert
但(完整)专业化没有在任何地方实例化。
如果我在某处宣布wumpus<0> w;
,我认为我只会得到一个断言。到底是怎么回事?