我只是想问一个简单的问题。一个指向二维数组对象类型指针的指针
我称一类“ChessPiece”
#ifndef CHESSPIECE_H
#define CHESSPIECE_H
#include "Globals.h"
// Abstract class for inheritence
class ChessPiece {
public:
// Constructor
ChessPiece(bool isWhite) : m_isWhite(isWhite) {
}
// No dynamic allocation
~ChessPiece(void) {}
// pure virtual functions
virtual CellLocation *listAvailableMoves(void) = 0;
virtual char getPieceType(void) = 0;
virtual ChessPiece *clonePiece(void) = 0;
// ACCESSORS, MUTATORS
// isWhite member
bool isWhite(void) const{
return m_isWhite;
}
void setIsWhite(bool isWhite) {
m_isWhite = isWhite;
}
protected:
bool m_isWhite;
};
#endif
,我有这样一个变量:
ChessPiece *m_gameBoard[8][8];
我想知道我怎么可以定义一个指针,这个变量?我以为它会像ChessPiece *(*pGameBoard)[8][8]
,但它不是我想要的。举例说,我想打电话给这样的*pGameBoard[2][2]->isWhite()
(这不起作用)我该怎么做?
在此先感谢您的答案。
请参阅http://stackoverflow.com/questions/8617466/a-pointer-to-2d-array – IdeaHat
你当然明白'm_gameBoard'是一个指针数组,而不是'ChessPiece'数组是的,是吗? –
是的,我知道它。棋子指针的二维数组。 –