我已經看到過很多帖子,但它們似乎都是在定義spme類型的方法時尋址的。C++:非靜態成員引用必須與特定對象相關
應用程序的背景:試圖製作一個基本的數獨遊戲來獲取C++的竅門。
錯誤似乎與主要函數.cpp文件無關,所以我會忽略它,除非請求保持解釋簡短。
的board.h文件:
#pragma once
class board
{
public:
board(int gameSize, int diffifuclty) : gameSize(gameSize), difficulty(difficulty) {};
~board();
private:
int gameSize; int difficulty;
int game[gameSize][gameSize][gameSize][gameSize];
void createRandom(); // Creates a random workable board.
void hasSolution(); // Checks if there's a solution from the current state.
};
我沒有幻想過很多與board.cpp文件還沒有,因爲我只是忙着在board.h文件中定義的一切規劃出哪些功能我想寫。
無論如何,我想有一個遊戲板gameSize
和difficulty
被輸入控制檯。當我嘗試構建遊戲板的多維數組時,我遇到了標題中提到的錯誤。 (所以在數獨遊戲中,9x9遊戲的遊戲大小爲3)
我不確定錯誤是什麼或者如何使這個數組成爲一個屬性(我不確定這是C++術語,所以對不起)的董事會?
你的陣列不能使用成員變量的大小。它們必須在編譯時可用。因此,要麼使用矢量 >>>,要麼使用帶有翻譯函數的gamesize^4矢量,請使用int ****或將其作爲模板參數傳遞。 –
Beached