2016-11-28 1 views
-1

다음과 같은 구조가 있습니다.구조체 내부의 배열 크기 변경 C++

사용자가 숫자를 입력하고 숫자로 입력 한 값을 배열의 크기로 입력해야합니다. 배열에 메모리를 할당하거나 사용자가 숫자를 입력 한 후 해당 배열의 크기를 설정하는 방법이 있습니까?

내가 이런 식으로 작업을 수행하려고 :

int userNumber = 10; 
struct thread_data newThreads[5]; 


for(int i=0; i < 5;i++){ 
    newThreads[i].query = new double[userNumber]; 
} 

하지만이 오류 메시지가 얻을 :
배열 유형을 '더블 []'당신이 바로하지만 변화를 할당

답변

1

할당 할 수없는 double query[]; to double *query;

+0

감사합니다. 완벽하게 작동했습니다. :) – rohit563

3

쉬운 해결책은 다음과 같습니다.

struct thread_data{ 
    int staringPoint; 
    int endingPoint; 
    std::vector<double> query; 
}; 

// ... 

for(int i=0; i < 5;i++) 
    newThreads[i].query.resize(userNumber);