我有一個函數,它接收一個數組並定義一個由原始數組的子集組成的新數組。傳遞給函數的數組給出了nan元素(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;
}
當運行該代碼的一些子陣列的元件的出來作爲楠。
很多內存泄漏 – P0W
爲什麼不使用'std :: vector'而不是數組?爲什麼手動內存管理('new' /'delete')而不是智能指針?這段代碼看起來好像是1998年的.. –
'''''NaN'的值是否也是? – ForceBru