有以下 c++ 原始代码:
template<typename T>
class A {
private:
// here I want to access B::SomeStruct to create SomeStruct field in class A
};
template<typename T>
class B {
private:
template<typename Tp>
friend class A;
struct SomeStruct {
void some_field;
};
};
在 AI 类中,想要创建一个类型为SomeStruct
- 在 B 类中声明为私有成员的结构的字段。它甚至可能吗?
限制:
- 禁止创建全局结构,可访问 A 和 B 类。
- 禁止在 B 类中创建任何公共字段。