从另一个对象调用成员函数时出现问题



几个月前我已经开始在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);

最新更新