0
class C
{
int opAdd(C b) { return 1; }
private int j;
}
void main()
{
C a;
C c;
int j = a + c;
}
例外:Dにおける
"object.Exception: Access Violate - Read at address 0x0"
class C
{
int opAdd(C b) { return 1; }
private int j;
}
void main()
{
C a;
C c;
int j = a + c;
}
例外:Dにおける
"object.Exception: Access Violate - Read at address 0x0"
Classesを参照型です。あなたはそれらをインスタンス化する必要があります。
C a = new C();
C b = new C();
また、opAdd
は(D2 operator overloadingを参照)D2にopBinary!"+"
に置き換えられました。
ありがとうございます!どのようにクラスインスタンスをスタックに配置しますか? –
'std.conv'の[' emplace'](http://dlang.org/phobos/std_conv.html#emplace)や['scoped'](http://dlang.org/phobos/std_typecons .html#scoped)テンプレートを 'std.typecons'から削除します。 –
@DanDonnelly詳細な回答が必要な場合は、別の質問を投稿してください。それを行う方法はありますが、通常は行いません。彼らは本当に正常に所属していません。 –