C+中的错误+;返回其他类的对象的类getter 我开始学习C++,我不能解决这个错误。 我试图实现一个名为IModeloDinamico的类,该类的私有成员是另一个名为FunctionParser的类的一些对象,该类在fparser.h库中实现。 我试图实现一些getter,但是返回另一个类的对象时出现了一些错误。这是代码 #//Some includes #include "fparser.h" class IModeloDinamico { private: //Some string and double variables. //FunctionParser variables are objects from fparser library. FunctionParser fp1; //... FunctionParser fp16; public: // Constructor IModeloDinamico(); //Destructor ~IModeloDinamico(); //Accesors //Getters //Some getters for string and double vars. //And getters for return objects of fparser library. **Where i have the errors.** FunctionParser GetFunctionParser1() const { return fp1; }; FunctionParser GetFunctionParser2() const { return fp2; }; // ... FunctionParser GetFunctionParser16() const { return fp16; }; //Setters/ // ... //Some methods.. };

C+中的错误+;返回其他类的对象的类getter 我开始学习C++,我不能解决这个错误。 我试图实现一个名为IModeloDinamico的类,该类的私有成员是另一个名为FunctionParser的类的一些对象,该类在fparser.h库中实现。 我试图实现一些getter,但是返回另一个类的对象时出现了一些错误。这是代码 #//Some includes #include "fparser.h" class IModeloDinamico { private: //Some string and double variables. //FunctionParser variables are objects from fparser library. FunctionParser fp1; //... FunctionParser fp16; public: // Constructor IModeloDinamico(); //Destructor ~IModeloDinamico(); //Accesors //Getters //Some getters for string and double vars. //And getters for return objects of fparser library. **Where i have the errors.** FunctionParser GetFunctionParser1() const { return fp1; }; FunctionParser GetFunctionParser2() const { return fp2; }; // ... FunctionParser GetFunctionParser16() const { return fp16; }; //Setters/ // ... //Some methods.. };,c++,class,object,return,getter,C++,Class,Object,Return,Getter,错误消息显示: “FunctionParser::FunctionParser(const FunctionParser&)”是私有的。 该方法在fparser库中实现,并声明为该类的私有成员,但我不会调用该方法来返回该对象 其他错误包括: “在此上下文中” 在FunctionParser的每个getter中。尝试 const FunctionParser& GetFunctionParser1() const { return fp1; } 您没有手动调用FunctionParser

错误消息显示:

“FunctionParser::FunctionParser(const FunctionParser&)”是私有的。

该方法在fparser库中实现,并声明为该类的私有成员,但我不会调用该方法来返回该对象

其他错误包括:

“在此上下文中”

在FunctionParser的每个getter中。

尝试

const FunctionParser& GetFunctionParser1() const { return fp1; }
您没有手动调用
FunctionParser::FunctionParser(const-FunctionParser&)
,但是当您按值返回它时,需要调用它来构造一个将从getter返回的复制对象。
您可能还需要添加一个非常量getter以实现常量正确性

FunctionParser& GetFunctionParser1() { return fp1; }
私有方法是复制构造函数,您调用该方法是因为您的方法返回解析器对象的副本

FunctionParser GetFunctionParser16() const
{
    return fp16; // return copy of fp16
}
复制构造函数是私有的这一事实表明该类的编写器不希望复制这些对象。因此,您可能应该通过引用返回

const FunctionParser& GetFunctionParser16() const
{
    return fp16; // return reference to fp16
}

也许你应该通过引用的方式返回它们。你的帖子非常不可读。注意你提问的方式,因为这会影响回答的质量。这次我为你编辑了这个问题,下次请你自己做。谢谢你,斯派克。这是我的第一条信息,我迷路了!!!!下次我会用正确的方法来做的。!!!谢谢.const FunctionParser&GetFunctionParser1(){return fp1;};出了什么问题?你能用几句话给我解释一下吗。我不想你浪费时间。谢谢你的帮助!!!!