c++ - 无法从另一个对象调用成员函数

标签 c++ function oop member

几个月前我开始用 C++ 编写代码,现在我一直在尝试以面向对象的方式编写这个 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);

显示以下错误:“调用没有对象参数的非静态成员函数”。

我该如何解决这个问题?怎么了 ? 感谢所有帮助!谢谢!

最佳答案

您需要在 A 类的实例上调用 setA

A a;
a.setA(nB, cChar);

关于c++ - 无法从另一个对象调用成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21120030/

相关文章:

c - 编写一个 C 程序来判断给定的字符串是否是 Lucky

java - android 中很难面向对象 "transplantation"

c++ - 使用冒泡排序比较类对象

c++ - 如何让 QWebView 直接渲染到 GStreamer 缓冲区?

C++ std::set 自定义比较器

c++ - 模板模板推导给我一个通用引用的错误

function - 我怎样才能在lua中链接函数调用?

c - 如何有效地计算功率

python - 调用返回列表的 C++ 函数

java - 如何制作计数器?