很简单,A有没有办法引用B :: value_type,B引用A :: value_type?
struct B;
struct A {
using value_type = int;
value_type a;
B::value_type b;
};
struct B {
using value_type = int;
value_type b;
A::value_type a;
};
答案 0 :(得分:0)
只是以一种非常黑客的方式。
template<int> struct Z
{
struct B;
struct A {
using value_type = int;
value_type a;
typename B::value_type b;
};
struct B {
using value_type = int;
value_type b;
typename A::value_type a;
};
};
using A = Z<0>::A;
using B = Z<0>::B;