C++ stack overflow
直接上代码背景:
首先我定义了个FeatureVector类
此类的entities、features和featureVector容量都很大,都是几千到上万的size。
然后函数A,A定义:
在类B里定义了成员变量
FeatureVector* fv;
fv=A();
并在B的成员函数里将fv作为参数传递进去
runAlgorithm(fv);
当运行到runAlgorithm(fv);这句时,程序报错 Stack Overflow
我查找了各种原因,肯定是因为fv是存储于栈上,但是栈的空间不够所有报错的
但是fv只是作为指针实参传递进去,并不是真正占据很大内存的FeatureVector对象,不懂为什么会针对它报错。
而且,求问各位大大,这个该怎么修改?
首先我定义了个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对象,不懂为什么会针对它报错。
而且,求问各位大大,这个该怎么修改?
...全文
相关推荐
C++安装教程和学习资料
Stack Overflow是解决编程问题的宝贵社区,当你在编写C++代码时遇到困惑,可以在该网站上寻找答案。
Klocwork_Stack_Overflow_Analyzer.pdf
### Klocwork Stack Overflow Analyzer 知识点解析#### 一、Klocwork Stack Overflow Analyzer 概述Klocwork Stack Overflow
C++ 视频教程资源
- **社区与论坛**:Stack Overflow、Reddit上的r/cpp等社区是提问和讨论C++问题的好地方。
学习C加加网址大全
**社区与论坛**- **Stack Overflow**:这是一个程序员问答社区,里面有许多关于C/C++的问题和解答。
流行代码中投放漏洞.pdf
本研究论文《流行代码中投放漏洞:C++在Stack Overflow上的安全审视》探讨了软件开发领域中的一个重要问题。随着Stack Overflow等问答网站的兴起,程序员们在这些平台上分享编程解决


