繁体   English   中英

C++ 返回 0xC0000005 状态

[英]C++ returns 0xC0000005 status

我是 C++ 的新手。在下面的代码中,我可能做错了什么,因为在终端中我得到Process returned -1073741819 (0xC0000005) execution time: 1.533 s
主.cpp

#include <iostream>
#include "foo.h"

int main() {
    Baz* quuz;
    quuz->quux();

    return 0;
}

foo.h

#include <vector>

class Bar {
public:
    bool boolean_val;

};

class Baz {
private:
    std::vector<Bar> qux;
public:
    void quux();
};

foo.cpp文件

#include "foo.h"
#include <iostream>

void Baz::quux()
{
    qux[0].boolean_val = true;
}

你能强调一下我做错了什么吗?

    Baz* quuz;
    quuz->quux();

在未初始化的指针上调用 function 不是什么好事。

void Baz::quux()
{
    qux[0].boolean_val = true;
}

跟随未初始化的this指针访问qux 调用了未定义的行为。 你很幸运撞车了。 0xC0000005访问memory未映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM