Есть разница. Подумайте, что произойдет, если ваши структуры A и B были определены как:
struct A {
protected:
int mytype;
};
struct B {
protected:
double mytype;
};
В этом случае
struct C : A, B {
using typename A::mytype; // Would compile, but is mytype a type or
// an exposed member of the base class?
//using mytype = A::mytype; // Would not compile
};
В вашем случае я бы порекомендовал использовать using mytype = A::mytype;
, так как он менее неоднозначен.