【发布时间】:2018-03-26 04:37:51
【问题描述】:
我看过很多关于此的帖子,但它们似乎都是在定义 spme 类型的方法时解决的。
应用背景:只是想制作一个基本的数独游戏来掌握 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++ 术语,很抱歉)?
【问题讨论】:
-
您的数组不能使用成员变量作为大小。它们必须在编译时可用。因此,要么使用 vector
>>> 或使用带有翻译函数的 gamesize^4 向量,使用 int**** 或将其作为模板参数传递。
标签: c++ arrays error-handling compiler-errors member