初始化矢量的问题

时间:2012-03-19 22:57:41

标签: c++

我是c ++的新手,所以我有点厌倦了 我想做那样的事情:

`

 int max = 30;

    class MyClass{
     vector<int> data(max);
    };

但它没有用,因为它没有认识到“max”是我刚刚初始化的int。   所以我改变了:

class MyClass{
     MyClass();
     int max;
     vector<int> data(max);
    }
MyClass::MyClass(){
  max = 40;}

除非我在构造函数中初始化向量,否则不起作用,但我不知道正确的sintax。

我该如何使这项工作?我想要的只是初始化“max”,然后将其用作向量的初始大小。

1 个答案:

答案 0 :(得分:1)

教授/老师应该告诉你有关初始化列表的信息。语法如下所示:

class MyClass {
    std::vector<int> data;
public:
    MyClass(int max) : data(max) { }
};