私は次の設定をしています:
//.h
class Cell
{
private:
POINT mCellStartingPoint;
int mXoffset;
int mYoffset;
public:
static void DrawRowOfPixels(int yoff);
Cell();
~Cell();
};
//.cpp
void Cell::DrawRowOfPixels(int yoff)
{
HDC dc = GetDC(NULL);
COLORREF red = 0xFF0000;
for(int i = mCellStartingPoint.x; i < mXoffset; i++)
{
SetPixel(dc, mCellStartingPoint.x + i, mCellStartingPoint + yoff, red);
}
}
ただし、.cpp ファイルに DrawRowOfPixels() メソッドを実装すると、Cell クラスのすべてのメンバー変数でエラーが発生します。(つまり、mCellStartingpoint、mXoffset、および mYoffset)
エラー C2228: '.x' の左側にはクラス/構造体/共用体が必要です
エラー C2597: 非静的メンバー 'Cell::mXoffset' への不正な参照
エラー C3867: 'Cell::mXoffset': 関数呼び出しに引数リストがありません。「&Cell::mXoffset」を使用して、メンバーへのポインターを作成します
エラー: 非静的メンバー参照は、特定のオブジェクトに関連している必要があります
私はおそらく本当にばかげたことをしていることを知っていますが、ここで何が起こっているのでしょうか? できるはずのように、静的メンバー関数内でプライベート メンバー変数を使用できないのはなぜですか?