Я начал кодирование в C++ несколько месяцев назад, и теперь я пытаюсь закодировать эту игру Tic Tac Toe в стиле 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);
Отображается следующая ошибка: "Вызов нестатической функции-члена без аргумента объекта".
Как я могу это решить? Что не так? Вся помощь приветствуется! Спасибо!
Вы должны вызвать setA
на экземпляре класса A
A a;
a.setA(nB, cChar);
A
вB::makePlay
. (В качестве альтернативы, вы могли бы датьB
член типаA
и использовать его)