Hey guys, I've a small problem implementing multiple opCall()-methods. At first, I've the following interface:
interface Invoker { void opCall(uint i); } ... and an abstract class which inherits from the Invoker-interface like the following: abstract class AbstractInvoker : Invoker { private int myInt; override void opCall(uint i) { /** do nothing */ } void opCall() { opCall(myInt); } } I know... I can remove the opCall(uint i) from the interface, but it's needed for some other classes which implements this method. For those classes the opCall(uint i)-method is needed. But... when I now declare a class like this: class InvokableClass : AbstractInvoker { override void opCall(uint i) { // do something } } and do the following: void main(string[] args) { InvokableClass() ic = new InvokeableClass(); ic(); } I always get the following errors: Error: function InvokableClass.opCall (uint i) is not callable using argument types (). Error: expected 1 function arguments, not 0 But I think opCall() is implemented in the abstract class and should be callable using opCall() instead using opCall(uint i)?