You may disambiguate by using a cast inside .def(), such as

  .def("getA", (A*(B::*)())B::getA);

 Whether that's actually more readable is arguable, however.

IMHO, this is quite dangerous as the explicit cast prevents the compiler to give you a proper error if the signature of B::getA changes at some point in time. The original approach ( A* (B::*B_getA1)() = &B::getA; ) requires extra typing but provides a safety net for refactoring B::getA.

Cheers,

Nicolas.
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to