【发布时间】:2017-03-08 00:00:02
【问题描述】:
我只找到了一维数组的解决方案,但无法将它们应用于二维数组。 可能的解决方案包括“向量”、“模板”和“指向数组的指针”。
我知道我可以让向量工作,但我宁愿使用其他两个中的任何一个。最好使用模板,因为我不想手动破坏,但指针也可以工作。 (指针将指向在构造函数中创建的数组)。
该类包含一个名为 screen 的空二维数组。构造函数应该设置它的大小。我尝试了太多东西,无法在这里全部列出,但我会展示我目前拥有的东西。 (我尝试的最后一件事是指向在构造函数中创建的数组的指针。在这种情况下,屏幕是一个字符指针)
Screen::Screen(const int w, const int h) : screen(new char[h][w]) {} {
width = w;
height = h;
}
new-expression 中的数组大小必须是常数
我未能实施这些策略中的任何一个,并且在尝试使其发挥作用时收到了许多错误。我将如何解决这个问题? (主要是我想知道如何使用模板来做到这一点。如果不可能,那么使用指向在构造函数中创建的数组的指针)
【问题讨论】:
-
向量、模板和指向数组的指针是如何连接的......无论如何,我不明白你的问题。发布一些您尝试编写的实际代码,我们会看看它有什么问题。
-
先添加一些代码,告诉我们你尝试了什么。
-
w、h的值是否在编译时都是已知的? -
使用带有二维索引运算符的一维数组可能是您的最佳解决方案
-
这些值在编译时未知(可能),但一旦创建类就不需要更改。 (这就是为什么我真的不想使用向量,因为我不打算扩展数组,只需要数组功能)