Ist es möglich, globale Funktionen mit der Member-Funktion in die Überladungsauflösung zu bringen?

Hie ist die entsprechende Frage, was ich wissen möchte ist, ist es möglich, globale Funktion in die Überladungsauflösung mit Mitgliedsfunktion zu bringen?

Ich habe es auf zwei Arten versucht, aber beide funktionieren nicht:

void foo(double val) { cout << "double\n";}

class obj {
public:
  using ::foo; // (1) compile error: using-declaration for non-member at class scope
  void callFoo() { 
    using ::foo; // (2)will cause the global version always be called
    foo(6.4); 
    foo(0); 
  }
private:
  void foo(int val) {cout << "class member foo\n"; }
};

Antworten auf die Frage(4)

Ihre Antwort auf die Frage