D 包含模板结构的模板接口
给定一个结构模板和一个模板接口,该接口有一个返回结构模板的成员以及另一个不同类型的成员,设计和实现的正确方法是什么 我有以下几点,但在实现时遇到编译错误:D 包含模板结构的模板接口,d,D,给定一个结构模板和一个模板接口,该接口有一个返回结构模板的成员以及另一个不同类型的成员,设计和实现的正确方法是什么 我有以下几点,但在实现时遇到编译错误: struct TemplateStruct(T, U) { T a; U b; } interface IFoo(V) { TemplateStruct resulta(); V resultb(); } class Foo : IFoo!int { TemplateStruct!(bool, string) resu
struct TemplateStruct(T, U) {
T a;
U b;
}
interface IFoo(V) {
TemplateStruct resulta();
V resultb();
}
class Foo : IFoo!int {
TemplateStruct!(bool, string) resulta() {
return TemplateStruct!(bool, string)(true, "a");
}
int resultb() {
return 1;
}
}
浏览在线书籍并不包括实施这种情况。以下是您的错误:
interface IFoo(V) {
TemplateStruct resulta(); // <== Here
V resultb();
}
有没有办法在定义接口模板参数的同时定义结构模板参数?是的,但这将更改接口的签名:
interface IFoo(V,T,U){TemplateStruct!(T,U)resulta();V resultb();}
interface IFoo(V) {
TemplateStruct!(bool, string) resulta();
V resultb();
}