我想在C++中创建内部类的对象,或者可能是嵌套类

I want to create object of inner class in C++, or may be nested class

本文关键字:或者 嵌套 对象 C++ 内部类 创建      更新时间:2023-10-16

假设我有外部类作为A,内部类B。

template <class T, class K>
class A::public T::RadioSignal, public VarMethod<T> {
private:
B *bObject;
public:
class B : public std::vector<SamplePoint*>
    {
    public:
        B(A<K, T> *outerInstance);
    };
}

我收到以下错误:未知类型名称"B"

该错误在第 B *bObject; 行?但目前class B尚未确定。

要么

在其前面定义内部类,要么使用前向引用。(class B;可能就够了?

编辑:如果您不仅使用指针,而且还使用更多 B 的东西(如 B bObject; -> class B;是不够的,但由于您只使用 B * ,只需转发声明 B 类的存在就足够了。再说一次,我会尽量远离裸指针的使用,你为什么不先声明完整的 B 类,然后直接声明 B bObject; 作为 A 的成员实例?因此,您不必处理新建/删除。