C++ C++;插入运算符(<;<;)修改值?
我有一个返回double数组的函数。在我的调试器中,我对数组进行了检测,发现它的值是{6.5,1.5}。但是,当我将数组打印到cout时,我会看到“6.5,3.30525e+230”。我的猜测是,No,C++ C++;插入运算符(<;<;)修改值?,c++,C++,我有一个返回double数组的函数。在我的调试器中,我对数组进行了检测,发现它的值是{6.5,1.5}。但是,当我将数组打印到cout时,我会看到“6.5,3.30525e+230”。我的猜测是,No,运算符No,运算符或函数的Post。返回指向本地对象的指针会产生未定义的行为。@PeteBecker,这正是我所想的。(事实上,下面是头发分裂),发布您的函数。返回指向本地对象的指针会产生未定义的行为。@PeteBecker,这正是我所想的。(下面是头发分裂)实际上,啊。是的,没错。我之前考虑过这
运算符No,运算符或函数的Post。返回指向本地对象的指针会产生未定义的行为。@PeteBecker,这正是我所想的。(事实上,下面是头发分裂),发布您的函数。返回指向本地对象的指针会产生未定义的行为。@PeteBecker,这正是我所想的。(下面是头发分裂)实际上,啊。是的,没错。我之前考虑过这个问题,但看到未定义区域的值一次又一次地评估为“3.30525e+230”,我就不这么认为了。啊。是的,没错。我之前考虑过这个问题,但看到未定义区域的值一次又一次地评估为“3.30525e+230”,我对此不屑一顾。
double *result;
result = haar1d(series, 2, seriesAverage);
for(int i = 0; i < 2; i++)
{
cout << result[i] << ",";
}
vector<double> haar1d(vector<double> vec, double seriesAverage)
{
vector<double> transVec(vec.size(), 0);
vector<double>::size_type length = vec.size();
if(vec[0] == seriesAverage)
{
return vec;
}
int diffFromAvgs = length / 2;
for(int i = 0; i < length; i += 2)
{
double pairAverage = (vec[i] + vec[i + 1]) / 2;
transVec[i] = pairAverage;
transVec[diffFromAvgs+i] = vec[i] - pairAverage;
}
return haar1d(transVec, seriesAverage);
}
vector<double> result = haar1d(series, avg);
for(vector<double>::iterator it = result.begin(); it != result.end(); ++it)
{
cout << *it << ",";
}
double* haar1d(/* ... */)
{
double arr[N];
// Fill this array
return arr;
}