2016-11-28 4 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[];~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);