5
Mãunary nhà điều hành phủ định quá tải trong D
struct test
{
private real value;
this(real value)
{
this.value = value;
}
bool opUnary(string op)() if (op == "!")
{
return !value;
}
}
void main()
{
test a = 123.12345;
bool b = !a;
}
Compilation lỗi
prog.d(19): Error: expression a of type test does not have a boolean value
Ngoài ra thử nghiệm trên DMD 2,053, 2,054
Có gì sai với mã của tôi?
Cảm ơn. Có vẻ như bạn đã đúng. Đây là một ví dụ từ Ngôn ngữ lập trình D. Có vẻ như tôi cần phải quá tải cast (bool) thay thế. – Stas
Lưu ý rằng tất cả các toán tử logic đều bị thiếu. IIRC đó là cố ý. – BCS