我几个月前开始使用C ++进行编码,现在我一直试图以OO方式编写这个Tic Tac Toe游戏,但是我在调用成员函数时遇到了一些麻烦,让我们说只是为了这个缘故参数,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);
显示以下错误:“调用不带对象参数的非静态成员函数”。
我该如何解决这个问题?怎么了 ? 所有帮助表示赞赏!谢谢!
答案 0 :(得分:3)
您需要在课程setA
A
A a;
a.setA(nB, cChar);