在类中定义的结构

时间:2018-01-05 20:31:17

标签: c++ visual-c++ struct

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

adb reboot bootloader

任何人都可以帮助我:)。

2 个答案:

答案 0 :(得分:0)

struct 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"
    }

答案 1 :(得分:0)

您需要将函数定义为:

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