栈溢出
我写了一个求矩阵协方差的代码,但是报错栈溢出,这是为什么?在怎么修改呢?
void mypca::cov()
{
for (unsigned int i=0;i<vec2[0].size();i++)
{
vector<double>ci;
for (unsigned int j=0;j<(vec2[0].size());j++)
{
double cij=0.0;
for(unsigned int k=0;k<vec2.size();k++)
{
cij+=(vec2[k][i]*vec2[k][j]);
}
ci.push_back(cij);
}
C2.push_back(ci);
}
}
[解决办法]
矩阵难道很大?
是在不行,就用new或者malloc做动态数内存分配吧
[解决办法]
据说 栈大小是2M 吗
[解决办法]
[解决办法]
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可。
[解决办法]