我正在使用编写一些测试代码,并忘记初始化某个对象myObj。这将导致以下错误。
unknown file: error: SEH exception with code 0xc0000005 thrown in the test body
逐步遍历相应的代码,似乎是窗体的方法调用。
myObj->method()
执行,而myObj未初始化,即其值为0x00000000。然后在第三方库的某个地方抛出此错误。
这怎么会发生呢?为什么在调用该方法时不立即抛出一个空引用异常?
我首先遵循了在这个线程“”中编写的指令
虽然当我在VisualStudio2010终极版上构建notepad++项目时,所有文件都已成功编译,但我得到了以下结果:
第一次机会异常在0x7543b727 (KernelBase.dll)在Notepad++.exe: Microsoft C++异常: std::runtime_error在内存位置0x0020ff80.
Notepad++.exe: 0xC0000005:访问冲突中0x00000000的第一次机会异常。
第一次机会异常在0x7543b727 (KernelBase.dll)在Notepad++.exe: Microsoft C++
这是一个关于指向字符串的指针与指向字符串数组的指针(复数)的问题。这是代码--请参阅有关问题的注释:
int main(int argc, char** argv) {
// Here, we're just loading each string into an incrementing pointer and printing as we go. It's not an array of pointers. This works fine.
char* dumb = NULL;
cout << argc << endl;
我试图访问未初始化的内存,
int *ptr;
// to this and that
*ptr = 8;
return 0;
我得到了例外,
在sam2.exe中0x0041145e处未处理的异常: 0xC0000005:访问冲突写入位置0xcccccccc。
现在我知道0xcccccccc是用于VisualC++中未初始化指针的值。但我不明白0x0041145e和0xC0000005的含义。
为了澄清,我问这个问题是因为我试图制作关于YouTube关于魔术数字的视频教程。
谢谢你的帮助。谢谢。