interface IWriter
{
void write(U)(U x);
}
class Foo : IWriter
{
void write(U)(U x, int y)
{
writeln(x);
}
}
void main()
{
}
你没有使用,所以未检查模板.
阿里:函数模板不能为虚函数.函数模板是模板,实例是函数.
用虚表动态分发的语言不知道虚表多大.
Foo.write隐藏了Iwriter.write.名字隐藏不算错.
auto i = new Foo();
i.write(1, 2); //可以编译.
IWriter i = new Foo();
i.write(1); //链接错误