![]() |
1
2
这似乎可以用几个编译器进行编译。除非实际使用,否则未使用的方法不会导致特定模板参数出错,这难道不是类模板的意图吗? 可能是在某个地方调用了a的默认构造函数? 标准中有这个例子来说明类模板和成员函数是如何实例化的。注意,类和成员的实例化是分开的: -3-[示例:
本例中的任何内容都不要求隐式实例化类Z、Z::G()或Z::F()。] 据我所见,这意味着不仅类模板中的模板方法被“惰性地”实例化,而且常规成员也是如此。 |
![]() |
2
1
如果您可以访问C++0x,以避免所有样板(下)和一般地缩放到任意数量的参数,可能需要查看变量模板。
http://www2.research.att.com/~bs/C++0xFAQ.html#variadic-templates |
![]() |
3
0
如果
|
![]() |
4
0
总之,您不能编译
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |