我在tetrisdoc中获得了“m\u colorGrid”的未声明标识符。h头文件,尽管其声明为:
请参见下面的代码段:
// TetrisDoc.h : interface of the CTetrisDoc class
//
#pragma once
#include "Figure.h"
typedef CList<int> IntList;
const int FIGURE_ARRAY_SIZE = 7;
class CTetrisDoc : public CDocument
{
protected: // create from serialization only
CTetrisDoc();
DECLARE_DYNCREATE(CTetrisDoc)
public:
virtual ~CTetrisDoc();
private:
ColorGrid m_colorGrid;
Figure m_activeFigure, m_nextFigure;
int m_iScore;
IntList m_scoreList;
const CRect NEXT_AREA, SCORE_AREA;
static Figure m_figureArray[FIGURE_ARRAY_SIZE];
// Operations
public:
void SaveScoreList();
virtual void Serialize(CArchive& archive);
int GetScore() const { return m_iScore; }
const IntList* GetScoreList() { return &m_scoreList; }
const ColorGrid* GetGrid()
{
ColorGrid* pm_colorGrid = &m_colorGrid;
return pm_colorGrid;
}
const Figure& GetActiveFigure() { return m_activeFigure; }
const Figure& GetNextFigure() { return m_nextFigure; }
void LeftArrowKey();
void RightArroyKey();
void UpArrowKey();
void DownArrowKey();
BOOL Timer();
void SpaceKey();
enum COLOR {RED=0,BROWN=1,TURQUOISE=2,GREEN=3,BLUE=4,PURPLE=5,YELLOW=6};
enum ORIENTATION { NORTH = 0, SOUTH = 1, EAST = 2, WEST = 3 };
// Overrides
public:
virtual BOOL OnNewDocument();
#ifdef SHARED_HANDLERS
virtual void InitializeSearchContent();
virtual void OnDrawThumbnail(CDC& dc, LPRECT lprcBounds);
#endif // SHARED_HANDLERS
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
DECLARE_MESSAGE_MAP();
private:
void GameOver();
BOOL NewGame();
int AddScoreToList();
void DeleteFullRows();
BOOL IsRowFull(int iRow);
void FlashRow(int iFlashRow);
void DeleteRow(int iDeleteRow);
#ifdef SHARED_HANDLERS
// Helper function that sets search content for a Search Handler
void SetSearchContent(const CString& value);
#endif // SHARED_HANDLERS
};
以下是实际错误日志:
错误8错误C2065:“m\U colorGrid”:未声明的标识符c:\users\ary\documents\visual studio 2013\projects\tetris\tetris\tetrisdoc。h 36 1俄罗斯方块
以下是屏幕截图:
正如您所看到的,m\u colorGrid是在函数上方的私有标头中声明的。