opAdd and opAdd_r both match
Li Jie
cpunion at gmail.com
Sun Dec 10 19:16:23 PST 2006
Test CODE:
---------------------------
class Foo{
public:
Foo opAdd(Foo foo){
return null;
}
Foo opAdd_r(Foo foo){
return null;
}
}
void main(){
Foo foo1 = new Foo;
Foo foo2 = new Foo;
Foo foo3 = foo1 + foo2;
}
---------------------------
$ dmd zzzz.d
zzzz.d(16): Error: overloads Foo(Foo foo) and Foo(Foo foo) both match argument
list for opAdd
Why dose not select opAdd automatically? like python:
class Foo:
def __add__(self, v):
print "call add"
def __radd__(self, v):
print "call radd"
foo1 = Foo()
foo2 = Foo()
foo1 + foo2 # call __add__
More information about the Digitalmars-d-learn
mailing list