Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Syntax D中的基本运算符重载(第2部分)_Syntax_Compiler Errors_Operator Overloading_D - Fatal编程技术网

Syntax D中的基本运算符重载(第2部分)

Syntax D中的基本运算符重载(第2部分),syntax,compiler-errors,operator-overloading,d,Syntax,Compiler Errors,Operator Overloading,D,将Tango与D1配合使用: class C { private int j; public int opBinary(char[] op: "+") (ref C x) { return 1; } public int opBinary(char[] op: "+") (C x) { return 3; } } int opBinary(char[] op: "+") (ref C x, ref C y) { return 2; } int opBinary(cha

将Tango与D1配合使用:

class C 
{
    private int j;
    public int opBinary(char[] op: "+") (ref C x) { return 1; }
    public int opBinary(char[] op: "+") (C x) { return 3; }
}

int opBinary(char[] op: "+") (ref C x, ref C y) { return 2; }
int opBinary(char[] op: "+") (C x, C y) { return 2; }

void main() {
    C a = new C;
    C b = new C;

    int j = a + b;
}
编译器错误:

“不兼容类型”

这意味着重载运算符不匹配

迫不及待地想掌握D的窍门

多谢


哦,是的:我用探戈和D1,所以也许这就是为什么它不起作用?我想继续跳探戈。有人使用过Tango+D2吗?

在D1中,使用opBinary等模板化运算符重载不起作用。您需要在D1中使用

,使用opBinary等模板化运算符重载不起作用。你需要使用

有人需要制作一个D++程序,这样谷歌才能给出正确的搜索结果。对你来说有几个有用的链接:推荐的方法是使用谷歌的“D编程”。需要有人制作一个D++程序,这样谷歌才能给出正确的搜索结果。以下是一些有用的链接:推荐的方法是使用谷歌的“D编程”。