edit:对不起,我放错向量了。这是无效代码。"stage_4"这行。Resize (20, vector(20, 0));'给出了错误。"stage_4.resize (20);可以工作,但我无法通过调整两个维度来编译它。另外,我忘了说我正在使用Code::Blocks 13.12和Mingw32-gcc。
我对c++比较陌生,基本上是通过阅读网上的教程来学习的,所以我对它的理解有一些相当大的差距。我一直试图写一个程序使用更多的类,使事情更精简,只是开始寻找使用矢量。然而,我在两者的结合中遇到了一点障碍。我创建了一个类,并在其中创建了一个向量。这一切都编译得很好,直到我试图在类的函数中将向量大小调整为二维数组。以下是相关代码。
class stage{
public:
std::vector<int> stage_4;
int setup(int a){
switch (a){
case 1:
stage_4.resize(20, vector<int>(20, 0));
break;
}
}
}
当我执行stage_4.resize(20);它编译没有问题。但是当我试图改变数组的两个维度时,就像在这个代码中一样,它告诉我"错误:'向量'没有在这个范围内声明"。我真的不确定我做错了什么,因为,正如我说的,我对c++相当陌生。
编辑:我也试过做stage_4。Resize (20, std::vector(20,0));,但是它告诉我"没有匹配的函数调用'std::vector:: Resize (int, std::vector)'"
是std::vector
。
vector
位于std
命名空间