2011-02-06 4 views
0

Я пытаюсь присвоить данные из структуры в станд :: векторназначить STD: вектор из структуры, содержащей массив

Вот код

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 ... 

Любая идея, почему? и как я могу это исправить?

ответ

4

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

+0

Doh! Иногда все, что ему нужно, это второй набор глаз (или кофе-брейк!) – skyeagle

Смежные вопросы