从包含数组的结构赋予std:vector

时间:2011-02-06 12:28:01

标签: c++ stl vector

我正在尝试将结构中的数据分配给std :: vector

这是代码

struct myArray
{
   double * data;
   size_t   len;
};


typedef std::vector<double>  DoubleVect;


DoubleVect myvect;
MyArray myarr;

// code to initialize alloc and populate the MyArray variable
// ....


myvect.assign(&myarr.data, &myarr.data + myarr.len);  // compiler barfs here ...

知道为什么吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

是。摆脱地址运算符,它会没事的。获取数据成员data的地址会为您提供类型为double**的表达式。这当然不是你想要的。