已经创建的向量中的奇怪std :: bad_alloc

胡安

我正在执行std::bad_alloc错误。据我所知,对StackOverflow的研究可能是由于缺少执行操作所需的内存或由于某种数据结构损坏(如此处所述)引起的。

就我而言,我有一个A,其中包含一个attribute std::vector<std::vector<unsigned int> > tiles通过以下方式创建此容器时没有错误A.h

class A
{
    public:

        //function prototypes
        std::vector<std::vector<unsigned int> > GetTiles();

    protected:
    private:

        std::vector<std::vector<unsigned int> > tiles; //declaration

};

另外,我已经编写了GetTiles负责return的函数的原型tiles这是通过A.cpp以下代码完成的:

std::vector<std::vector<unsigned int> > A::GetTiles()
{
    return tiles;
}

恰恰在另一个时刻,另一个B打算使用GetTiles这样的(B.cpp获取tile容器

std::vector<std::vector<unsigned int> > aux;
aux=InstanceofA->GetTiles();                  

在那个确切的时刻,调用之后GetTiles(),出现以下错误:

terminate called after throwing an instance of std::bad_alloc

因此,它指出在尝试为aux容器分配内存时出现错误我试图通过printf()GetTiles()函数中放置一个调用来进行一些printf调试

std::vector<std::vector<unsigned int> > A::GetTiles()
{
    printf("%i\n",tiles.size);
    return tiles;
}

然后,在崩溃之前,该程序在控制台行显示奇怪的结果:-1524170727在所有这些代码之前,没有任何内容可能会影响tiles容器,并且声明的其他矢量A.h行为正常,并且按照每个人的预期(在我看来),创建后的矢量大小为0。我也尝试将tiles.clear()调用放置在类A的构造函数中,但它什么也没做。

编辑: 我也尝试返回该GetTiles()函数中的其他容器,它的工作原理。此外,我还尝试仅在不将其返回值分配给任何容器的情况下调用该函数:

InstanceofA->GetTiles()

而且它也有效,因此问题不应该出在返回的副本中,而应该在将其分配给aux容器中。我猜想错误会绕过的怪异大小tiles

我以前从未见过,也没有在Google中找到任何东西。我会很感激您能给我的任何帮助。非常感谢。很抱歉,如果出现任何演示错误,这只是我第二次在SO上发布内容。

胡安

实际上,我已经按照许多评论我的原始帖子的人指出的步骤解决了这个问题,因此,我非常感谢大家。问题出在指针的初始化中InstanceofA

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

奇怪的std :: bad_alloc

来自分类Dev

向量抛出bad_alloc

来自分类Dev

C ++奇怪的std :: bad_alloc异常

来自分类Dev

C ++向量std :: bad_alloc错误

来自分类Dev

C ++ std :: bad_alloc错误

来自分类Dev

C ++ std :: bad_alloc错误

来自分类Dev

如何修复“std::bad_alloc”

来自分类Dev

程序中的 C++ 向量 std::bad_alloc 错误

来自分类Dev

级联两个向量时的std :: bad_alloc

来自分类Dev

处理大向量会使bad_alloc导致程序崩溃

来自分类Dev

处理大向量会使bad_alloc导致程序崩溃

来自分类Dev

如果我得到std :: bad_alloc怎么办?

来自分类Dev

大数据集的dijkstra计算期间的std :: bad_alloc

来自分类Dev

如果我得到std :: bad_alloc怎么办?

来自分类Dev

错误更改/ usr /权限后的'std :: bad_alloc'

来自分类Dev

'new'导致std :: bad_alloc在相对不大的分配上

来自分类Dev

CPP - 未处理的异常 std::bad_alloc

来自分类Dev

Node.js错误“抛出'std :: bad_alloc'what():std :: bad_alloc实例后调用终止”

来自分类Dev

我在C ++程序中遇到bad_alloc错误

来自分类Dev

如何在RAII中处理bad_alloc?

来自分类Dev

std::bad_alloc 将文本文件中的单个字符存储到向量 C++ 时

来自分类Dev

将opencv :: Mat转换为std :: string会得到std :: bad_alloc

来自分类Dev

当分配超出限制的对象时,Clang无法抛出std :: bad_alloc

来自分类Dev

std :: bad_alloc在内存位置0x002b123c

来自分类Dev

异常:内存位置0x00e4df90上的std :: bad_alloc

来自分类Dev

为什么在抛出'std :: bad_alloc'实例后终止调用?

来自分类Dev

另一个std :: bad_alloc在内存位置

来自分类Dev

std :: bad_alloc在内存位置0x002b123c

来自分类Dev

带有QVector的bad_alloc但不带有std :: vector

Related 相关文章

热门标签

归档