|
|
1
4
第一个要求定义
第二个示例之所以有效,是因为在您的
第三个例子是
你不需要
|
|
|
2
2
通过在定义容器后定义iter::iter(),可以在没有模板的情况下完成此操作:
模板版本可以工作,因为当您实例化模板时,两个类都是完全定义的。 |
|
|
3
0
在第一种情况下,您试图在类被定义之前访问容器类的成员函数,因此这不起作用。 在第二种情况下,模板在第一次与特定类型一起使用时被实例化。在这一点上,容器类已经在main中定义,因此它可以编译。 在第三种情况下,有一个循环引用。容器使用ITER,ITER使用容器,因此无法工作。 |