我只是想問一個簡單的問題。一個指向二維數組對象類型指針的指針
我稱一類「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'數組是的,是嗎? –
是的,我知道它。棋子指針的二維數組。 –