相关疑难解决方法(0)

1730
推荐指数
11
解决办法
54万
查看次数

push_back到vector c ++时的分段错误

我试图使用该push_back方法将空白对象附加到列表中.

main.cpp中

    vector<FacialMemory> facial_memory;

    printf("2\n");

    // Add people face memories based on number of sections
    for (int i = 0; i < QuadrantDict::getMaxFaceAreas(); i++)
    {
            printf("i %d\n", i);
            FacialMemory n_fm;
            facial_memory.push_back(n_fm);  // NOTE: Breaks here
    }
Run Code Online (Sandbox Code Playgroud)

push_back方法调用中,程序崩溃并出现分段错误.我查看了类似的问题,他们指出了我在这里的解决方案.我也尝试过FacialMemory()传入push_back调用,但仍然是同样的问题.

FacialMemory类定义如下:FacialMemory.h

class FacialMemory
{
private:
        vector<FaceData> face_memory;
public:
        FacialMemory();
        ~FacialMemory();
        void pushData(FaceData face);
        bool isEmpty();
        vector<FaceData> getFaces();
        FaceData getRecent();
};
Run Code Online (Sandbox Code Playgroud)

构造函数和析构函数

FacialMemory::FacialMemory()
{
}


FacialMemory::~FacialMemory()
{
       delete[] & face_memory;
}
Run Code Online (Sandbox Code Playgroud)

c++

6
推荐指数
1
解决办法
9748
查看次数

c ++无法将数据放入向量中

我有一个数据结构和一个处理器类的数据,数据堆叠没有指针,以便更快地进行SIMD处理:

struct trajectory_data {
    float position[3];
    float velocity[3];
    float acceleration[3];
    ...
};

class trajectory_processor{
private:
    vector<trajectory_data> tdata;
    vector<trajectory_data> default_data;
    ...
};
Run Code Online (Sandbox Code Playgroud)

但是我实际上没有向向量添加数据集,这些都没有工作:

trajectory_processor::trajectory_processor(){

    // gives error: no match for ‘operator=’ in ...
    trajectory_data d0();
    default_data[0] = d0;

    // gives error: no matching function for call to
    // ‘std::vector<trajectory_data>::push_back(trajectory_data (&)())
    trajectory_data d1();
    default_data.push_back(d1);
};
Run Code Online (Sandbox Code Playgroud)

根据push_back参考C++向量push_back,我认为这应该很容易,但即使经过几次谷歌搜索,我也找不到任何答案.

这个项目涉及到html/javascript中的交叉编码,每当我切换回c ++时,我似乎都会碰到这样的墙,它开始让我神经紧张.

c++ vector push-back

5
推荐指数
1
解决办法
896
查看次数

标签 统计

c++ ×3

c++-faq ×1

c++11 ×1

pointers ×1

push-back ×1

smart-pointers ×1

vector ×1