Take the following class hierarchy:
template<typename T>
class Foo {
public:
T fooMethod() { ... }
};
class Moo : public Foo<bool> {
...
};
If I now somewhere write Moo::fooMethod
the compiler will deduce Foo<bool>::fooMethod
. How can I deduce Foo<bool>
as parent of fooMethod
myself before compile time?
Motivation: the compiler will not allow Foo<bool>::fooMethod
to be passed as template parameter for bool (Moo::*)()
since it will be of type bool (Foo<bool>::*)()
in that context. But since I have multiple inheritance I dont know what parent fooMethod
will be in, it must be deduced.