我正在为一个类(function1)编写一个私有成员函数,而对于一大块代码,我认为它更容易将这个块放入它自己的函数(function2) ,并从function1调用它。但是,编译器说function2需要一个对象。这对我来说没有意义,因为必须创建一个对象才能使function1工作,所以function2的对象看起来应该只是"这个"。
int ClassName::function1(args)
{
//some code;
//some code;
function2(args); //says I need an object to call the function here
//some code;
}
int ClassName::function2(args)
{
//some code;
}
确切的错误代码是"非静态成员引用必须相对于特定对象"。我已经搜索了几个小时,每个实例都来自于从类外部调用类成员函数而不使用对象指针的人。我找不到任何类成员函数调用另一个类成员函数。我还以为我过去从其他成员函数调用了成员函数没有遇到麻烦,所以我非常困惑。我可以删除function2并在function2中进行所有计算,但之后我就不会学到任何东西了!
我尝试在cpp文件中切换函数定义的顺序。标题中原型的顺序。将function2从私有更改为public。没有骰子。我已经筋疲力尽了谷歌,我自己的编程知识,以及我能想到的任何实验,所以我现在要求你们帮忙。如果您需要额外的信息,请告诉我,虽然看起来我的函数中的确切代码与问题无关。