我在课堂上定义了一个结构。然后定义了一个返回它正在工作的struct的地址指针类型obj的函数,但是当我创建了三个文件结构时,它现在给出了一个错误"变量undefined" LIKE
adb reboot bootloader
任何人都可以帮助我:)。
答案 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"
}