C++ 参数1从“int”到“const std::vector&”的转换未知
我编写了一个矢量用法代码,将整数存储在所需的矢量长度上。i、 eC++ 参数1从“int”到“const std::vector&”的转换未知,c++,vector,C++,Vector,我编写了一个矢量用法代码,将整数存储在所需的矢量长度上。i、 e std::vector<int> * parameters; parameters = new std::vector<int>(10); for (int x = 0; x < 10; x++) parameters[x] = x; 但编译会产生错误: 参数1从“int”到“const std::vector&”的转换未知 这里我做错了什么?声明一个指向向量的指针,然后动态创建一个充满1
std::vector<int> * parameters;
parameters = new std::vector<int>(10);
for (int x = 0; x < 10; x++)
parameters[x] = x;
但编译会产生错误:
参数1从“int”到“const std::vector&”的转换未知
这里我做错了什么?声明一个指向向量的指针,然后动态创建一个充满10个元素的指针。只需声明一个包含10个元素的向量并填充这些元素:
std::vector<int> parameters(10);
for (int x = 0; x < 10; x++)
parameters[x] = x;
注意,这个指针的东西很傻。vector已经通过指针管理自己的内容,没有理由再使用另一个指向管理该内容的实体的指针。为什么要创建指向vector的指针?只需使用向量本身
std::vector<int> parameters(10);
for (int x = 0; x < 10; x++)
parameters[x] = x;
否则,如果你留下它作为一个指针,我会劝阻你,你将不得不先取消引用它
for (int x = 0; x < 10; x++)
(*parameters)[x] = x;
*参数[x]=x;,或者不使用指针我的要求是使用指针作为类变量。然后它将在类的构造函数上初始化也许你误解了这些要求,他们想要这样:int*parameters=new int[10]?@hmb这只是一个愚蠢的要求,它创建了一个额外的间接层次,有什么好处?
for (int x = 0; x < 10; x++)
(*parameters)[x] = x;