任何想法为什么我会收到此错误?
这是完整的错误:
Test.exe 0xC0000005 中 0x77202282 (ntdll.dll) 的第一次机会异常:访问冲突写入位置 0x0000004
在 Test.exe 0xC0000005 中的 0x77202282 (ntdll.dll) 处取消处理异常:访问冲突写入位置 0x0000004
- 调试中断在行
Grid::Grid()
。 Root.hpp
包含一个私有成员static Grid grid;
。Root.cpp
初始化这个Grid Root::Grid;
我确实有SFML
静态链接,这给我带来了一些麻烦。
这是一个显示此错误的小示例:
#include <fstream>
#include <sstream>
#include <Windows.h>
#include "Root.hpp"
Grid Root::grid;
int main (uchar argc, char **argv) {
Root root;
Root::Prepare(root);
return Root::GetStatus();
}
构造函数如下:
Grid::Grid() {
Width = 100;
Height = 100;
}
调用堆栈:
ntdll.dll!772022b2() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
Test.exe!sf::priv::MutexImpl::lock(void) Unknown
Test.exe!sf::Mutex::lock(void) Unknown
Test.exe!sf::Lock::Lock(class sf::Mutex &) Unknown
Test.exe!sf::GlResource::GlResource(void) Unknown
Test.exe!sf::Texture::Texture(void) Unknown
> Test.exe!Grid::Grid() Line 5 C++
Test.exe!`dynamic initializer for 'Root::grid''() Line 11 C++
msvcr110d.dll!_initterm(void (void) * * pfbegin, void (void) * * pfend) Line 894 C
Test.exe!__tmainCRTStartup() Line 460 C
Test.exe!mainCRTStartup() Line 377 C
kernel32.dll!767533aa() Unknown
ntdll.dll!77219ef2() Unknown
ntdll.dll!77219ec5() Unknown