[英]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.