Использование с использованием:
struct A{};
struct B{};
template<typename T>
struct I { void test(T){} };
struct X : public I<A>, I<B>
{
using I<A>::test;
using I<B>::test;
};
int main(int argc, const char *argv[])
{
X x;
x.test(A());
return 0;
}
Ошибка gcc request for member 'test' is ambiguous
на самом деле не самая лучшая, мы можем лучше понять, что означает ошибка clang: member 'test' found in multiple base classes of different types