我正在使用struct时遇到问题,我定义了如下结构:
typedef struct ObjCand
{
// Initialize value for ObjCand
ObjCand() : inFilter(false),
match(false),
inFrs(0),
outFrs(0),
Pos(Point(0, 0)),
filterPos(Point(0,0)),
EKF(),
posList(POS_LIST_LENGTH),
direction(0.0f, 0.0f, 0.0f, 0.0f) {};
bool inFilter;
bool match;
int inFrs;
int outFrs;
Point Pos;
Point filterPos;
ExtendedKalmanFilter EKF;
vector<Point> posList;
Vec4f direction;
} ObjCand;
然后我想使用这个结构的向量:
vector< ObjCand > objCands;
上面的部分很好,问题是当我在这个结构中添加一个任何类型的变量并初始化它时,它会导致&#34;分段错误(核心转储)&#34;当我运行程序时。在Window中编译和运行时没有问题,但是当我在Linux中编译和运行时,这是一个问题。 我似乎问题是程序没有为向量获得足够的内存,所以我尝试为向量保留大量内存。但是,它不起作用。 我希望有人能告诉我这是什么问题以及如何解决这个问题。
非常感谢
答案 0 :(得分:0)
你能列出哪些typedef(如果有的话)是指针吗?