私は配列を取り、元の配列のサブセットからなる新しい配列を定義する関数を持っています。関数に渡された配列は、ナノ要素を与える(C++)
#include<iostream>
#include<cmath>
using namespace std;
double * subarray(double *array){
double *sub= new double[100];
for (int i=0; i<10; i++){
sub[i]=array[i];
}
return sub;
}
int main(){
double *x=new double[100];
double *y=new double[10];
for(int j=0; j<100; j++){
x[j]=sin(j*3.14/2.0);
}
y=subarray(x);
for(int k=0; k<10; k++){
cout<<y[k]<<endl;
}
return 0;
}
このコードを実行すると、サブアレイの要素の一部がnanとして出力されます。
メモリリークが多い – P0W
配列ではなく 'std :: vector'を使用してみませんか?なぜスマートポインタではなく手動メモリ管理( 'new' /' delete')ですか?このコードはsooo 1998'ishと思われます。 –
'x'の値はNaNですか? – ForceBru