【发布时间】:2016-05-01 17:17:06
【问题描述】:
使用命名空间的向量是错误的。可能是笔误。请更改如下。 使用 std::vector 我必须遵循代码:
class MyClass{
private:
std::vector<float>& myvector;
public:
MyClass(int k,std::vector<float>& vector){
(...)
this->myvector=vector;
(...)
}
我这样创建一个 MyClass 对象:
(...)
std::vector<float> vector;
vector.reserve(k);
(...)
MyClass A= MyClass(k,vector);
(...)
弹出一个错误,告诉我 MyVector 是一个未初始化的引用。我只希望 MyClass 将一些数据存储在 MyVector 中并返回。我应该改用指针吗?
谢谢
【问题讨论】:
-
在这段代码中,
myvector根本不是引用。您确定您发布了正确的代码吗?或者你能显示你得到的确切错误吗? -
能否请您发布确切的代码,因为这里在 std:vector 也存在语法错误
-
修正错别字,谢谢。错误信息是:error: uninitialized reference member ‘MyClass::myvector’ [-fpermissive]
标签: c++ vector constructor pass-by-reference