2D矢量在类中调整大小.在此范围内未声明错误



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命名空间

最新更新