2011-02-06 2 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

관련 문제