0
考虑下面的代码时“DUP不能推导函数”:d - “内常量”属性时使用的
class Bar
{
}
class Foo
{
private:
Bar[] bars_;
public:
Bar[] bars() const @property { return bars_.dup; }
}
void
main()
{
auto f = new Foo();
}
的目的是为具有Bar
秒的只读阵列。但是这不能编译。编译失败
模板object.dup不能推断功能
如果const
预选赛中被删除,它编译罚款,但我真的想保持它 - 它不属于那里。我试过用bars_.dup!Bar
来代替,但是这没什么变化。我显然做错了事情--DMD,LDC和GDC都显示相同的行为 - 但我无法弄清楚什么。