【发布时间】:2013-10-20 08:09:12
【问题描述】:
在一个类中,我想创建一个数组(预定义,因为它在头类中)而不指定任何边界,直到该类创建了一个使用它的类型的对象。 例如:
class RandomClass{
public:
int myarray[][];//Remember this is a 2D array, 1D arrays can be defined like this.
}
(这门课不完整,我知道,假装不完整) 显然这是行不通的,因为“我不允许在未定义其边界的情况下创建数组”
所以我的问题是,我该怎么做? 或者,我如何在类的构造函数中创建一个数组,该数组将被类的成员公开访问。
关于我为什么要这样做的一些信息; 我正在尝试创建一个处理 2D 游戏地图的类,当创建该类时,它将通过其构造函数的参数给出地图的大小,然后将创建数组以便它不需要是任何大于地图本身的大小。 我知道我可以使用向量,但是我很难将它们做成二维的。 (如果你回答我的问题,请先回答主要问题,不要只告诉我在这种情况下如何使用向量 - 但是它也会有帮助)
我会发布错误,尽管没有太多理由。
错误:'myarray' 声明为多维数组必须有 除第一个维度外的所有维度的边界
【问题讨论】:
标签: c++ arrays 2d bounds predefined-variables