在c++中初始化和析构二维矢量



关于c++中的向量,我有两个问题:

  1. 如何在以下代码中解决问题:

    • 在我的头文件中我有:

      vector< vector< char > > vec;
      
    • 在我的(.cpp)文件中构造函数的定义我有:

      vec(20, vector<char>(25, " "));
      
    • 我收到的错误如下:

      error: invalid conversion from 'const char*' to 'char'
      

    我知道有问题,但我不知道如何解决它。

  2. 在我的程序结束后,我如何正确地销毁我的二维矢量,以释放内存?

任何建议,想法或解决我的问题非常感谢。

您可能需要单引号' ':

vec(20, vector(25, ' '));

否则,你传递的是一个字符串" ",它会导致错误。

关于你的第二个问题。你不需要毁掉它。当它超出作用域时,它会自动释放自己。 编辑:

你还需要一起做:

vector< vector< char > > vec(20, vector<char>(25, ' '));

你不能像那样把声明和初始化式分开。(至少不需要额外的赋值)

相关内容

  • 没有找到相关文章

最新更新