几个月前我已经开始在C++中编码,现在我一直在尝试以 OO 方式编写这个井字游戏,但是我在调用成员函数时遇到了一些麻烦,比如说只是为了论证,类 A 通过类 B 的另一个成员函数。
这是一段代码,只是为了清除所有内容:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
class A
{
private:
char cBlocks[9];
public:
void setA(int nBlock, const char cCharacter)
{
cBlocks[nBlock] = cCharacter;
}
};
class B
{
private:
char cB;
public:
char getB()
{
return cB;
}
void makePlay(int nB)
{
const char cChar = getB();
A::setA(nB, cChar);
}
};
因此,当我尝试从 B::makePlay(int) 函数中进行此调用时:
A::setA(nB, cChar);
显示以下错误:"调用没有对象参数的非静态成员函数"。
我该如何解决这个问题?怎么了?感谢所有帮助!谢谢!
您需要
在类A
的实例上调用setA
A a;
a.setA(nB, cChar);