在类中定义的结构

Defined Struct in class

本文关键字:结构 定义      更新时间:2023-10-16

我在类中定义了一个结构。然后定义了一个函数,该函数返回它正在工作的结构的地址指针类型 obj,但是当我创建三个文件结构时,它现在给出错误"变量未定义"喜欢

/// header file
class A {
    struct b{
    };
    b *var;
public:
    b *&f1();
};
//// cpp file
b A:: *&f1()
{
    return var; /// here it gives an error saying "var undefined" 
}

任何人都可以帮我:)

结构 b 在 A 类的命名空间中声明。这就是为什么源文件中 f1(( 方法的返回值必须以 A 类命名空间解析为前缀:A::b。

class A {
      struct b {};
      b *var;
     public:
     // normaly you would also do something like this
     A() : var(new b) {}
    ~A() { delete var; }
      b*& f1();
    };
    //// cpp file
    A::b*& A::f1() {
      return var;  /// here it gives an error saying "var undefined"
    }
您需要

将函数定义为:

A::b*& A::f1()
{
return var; /// here it gives an error saying "var undefined" 
}