the title , code self-explanatory,
is such thing possible?how?
is encouraged? if not, alternative? thanks
#include <iostream> using namespace std; namespace {  void foo()  {    cout << "in a\n";  } }  namespace b {  void foo()  {   cout << "in b\n";  } }   template <typename x> struct foo {     void foo()     {      x::foo();     } };   int main() {    foo<a> _foo;   _foo.foo();  return 0; }      
if rename member function, can find via adl using proxy tag:
namespace {     struct tag {};      void foo(tag)      {          std::cout << "in a\n";      } }  namespace b {     struct tag {};      void foo(tag)      {          std::cout << "in b\n";      } }  template<class tag> struct foo {     void fooadl()     {         foo(tag{});     } };  int main() {     foo<a::tag> f;     f.fooadl(); }      
Comments
Post a Comment