BTW, to please @elextr here's a C++ overloaded version for testing (behaves correctly with all versions AFAICT):

class Foo {
public:

    int method(void);
    int method(int x);
    int method(int x, int y);
    int method(float x);

    Foo() {
        method();
    }
};

int Foo::method() { return 0; }
int Foo::method(int x) { return x; }
int Foo::method(int x, int y) { return x * y; }
int Foo::method(float x) { return static_cast<int>(x); }


Reply to this email directly or view it on GitHub.