присваивать std: вектор из структуры, содержащей массив - PullRequest
0 голосов
/ 06 февраля 2011

Я пытаюсь присвоить данные из структуры в 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 Ответ

4 голосов
/ 06 февраля 2011

Да. Избавьтесь от адреса оператора и все будет хорошо. Взяв адрес элемента данных data, вы получите выражение типа double**. Это, конечно, не то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...