C++ stack overflow

cherish_1234 cherish_1234 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
直接上代码背景:

首先我定义了个FeatureVector类

class FeatureVector
{
public:
vector<Function*> entities;
vector<string> features;
myFV featureVector[10000][10000];

FeatureVector();
~FeatureVector();
};

typedef struct
{
bool isClustered;
int clusterNum;
int value;

}myFV;



此类的entities、features和featureVector容量都很大,都是几千到上万的size。

然后函数A,A定义:

FeatureVector* A(){
}



在类B里定义了成员变量
FeatureVector* fv;
fv=A();
并在B的成员函数里将fv作为参数传递进去
runAlgorithm(fv);

当运行到runAlgorithm(fv);这句时,程序报错 Stack Overflow

我查找了各种原因,肯定是因为fv是存储于栈上,但是栈的空间不够所有报错的
但是fv只是作为指针实参传递进去,并不是真正占据很大内存的FeatureVector对象,不懂为什么会针对它报错。

而且,求问各位大大,这个该怎么修改?
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
cherish_1234
C++ 语言 65,214 成员 250,514 内容