빠른 질문을하고 싶습니다.객체 유형 포인터의 2D 배열에 대한 포인터
내가 클래스가 "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'의 배열이 아니라 포인터 배열입니다. 그래? –
예. 알고 있습니다. Chesspiece 포인터의 2 차원 배열입니다. –