d模板函数的链接错误
原文
我希望可存储类实例到关联数组中,供以后使用,最小示例:
interface PathConverter
{
T toD(T)(string value);
}
class NumberConverter(T) : PathConverter
{
T toD(T)(string value)
{
import std.conv : to;
return to!T(value);
}
}
alias IntConverter = NumberConverter!int;
void main()
{
PathConverter[string] allConverters;
allConverters["int"] = new IntConverter;
int converted = allConverters["int"].toD!int("9");
}
可在接口中定义终函数
interface PathConverter
{
string getValue();
final T toD(T)()
{
import std.conv : to;
return to!T(getValue());
}
}
按指针存储类,解决该问题.
浙公网安备 33010602011771号