OpenGL 和 GLUT 中0x009f240e处未处理的异常 - 101.exe:0xC0000005:访问违规写入
Unhandled exception at 0x009f240e in OpenGL and GLUT - 101.exe: 0xC0000005: Access violation writing location 0x00000000
我不断收到以下错误:OpenGL 和 GLUT 中0x009f240e处未处理的异常 - 101.exe: 0xC0000005:访问违规写入位置0x00000000。
我在这里发现了一些具有类似错误代码的问题,但它们似乎都说问题是:取消引用 NULL 指针。 但是,我似乎找不到任何真正解释这意味着什么或该怎么做的东西。
这是我代码的一小部分示例:
Tree* myTree; //global variable pointer
int main (int argc, char** argv)
{
fstream file = fstream ("Tree.txt");
*myTree = Tree(file); // This is where the error is occuring
}
如果有人对我可以做些什么来解决这个问题有任何建议或想法,请告诉我。 如果我应该添加任何其他代码,也请告诉我。
这个:
*myTree = Tree(file);
通过取消引用未初始化的指针来写入未分配的内存。指针似乎指向 0,这解释了该地址的异常。
我猜你想做的是创建一个Tree
的实例,并让全局指针myTree
指向它。
如果是这种情况,则问题出在用于创建和分配该实例的语法上。 *myTree
实际上取消引用指针,您尝试将其分配给Tree(file)
您需要做的是使用 new
运算符创建一个 Tree
实例,并将返回值(指向新创建的实例的指针)分配给指针 myTree(而不是取消引用的 *myTree)。
int main (int argc, char** argv)
{
fstream file = fstream ("Tree.txt");
myTree = new Tree(file); // Create a new instance of Tree and store its pointer in myTree
}
不要忘记释放operator new
创建的内存,方法是在完成myTree
时调用delete
。
相关文章:
- 在类 12.exe 中0x7B37FF80 (ucrtbased.dll) 引发异常: 0xC0000005:访问冲突读
- (此函数用于计算 SMA).在 FA.exe 中0x00509159引发异常: 0xC0000005:访问冲突读取位置0
- 功能.exe:0xc0000005:访问违规读取地点0x0000000000000000
- 实验室中0x6BE20E11 (ucrtbased.dll) 的未处理异常.exe: 0xC0000005:访问冲突读取
- 在 "<name>.exe" 中0x00007FFF168E1657 (vcruntime140d.dll) 引发异常:0xC0000005:访问冲突写入位置0x0000000000000
- mystring.exe中的0x0FC9E559(ucrtbaseed.dll)的未经手法异常:0xc0000005:访
- 在2.exe中的0x00DE181818的未经手法异常:0xc0000005:访问违规写作位置0xcd7cbe10
- 在0x77081D76(ntdll.dll)中未经处理的例外.Exe:0xc0000005:访问违规写作位置0x0000
- NVIDIA 在 <work.exe>0xC0000005 中0x002a2da2未处理的异常:访问违规读取位置0x00000000
- 在 DirectXGame.exe 中0x00B84CD6出现未经处理的异常:0xC0000005:访问冲突读取位置0x
- OpenGL 和 GLUT 中0x009f240e处未处理的异常 - 101.exe:0xC0000005:访问违规写入
- Dijkstra 中0x001e1078 s_Algorithm.exe的未处理异常:0xC0000005:访问冲突读取位置0xbaadf00d
- BunkerBuilder.exe中0x0070C75C处的首次机会异常:0xC0000005:写入位置0xCCCCC0
- 引擎.exe 0x00000000时未处理的异常: 0xC0000005:访问冲突
- main.exe 中0x779615de处未处理的异常:0xC0000005:访问违规写入位置0x003f0014
- 错误 linkedlist .exe 中0x00D0345E处的未处理异常: 0xC0000005:访问违规写入位置0x
- 程序.exe中0x010F2F1C时未处理的异常: 0xC0000005:访问冲突读取位置0xCCCCCCD0
- 第 1 章.exe中0x003860EF未处理的异常: 0xC0000005:访问违规写入位置0x0038EE7C
- opencv_helloworld.exe中0x778715de处未处理的异常:0xC0000005:读取位置0x000
- ConsoleApplication2.exe中的首次机会异常:0xC0000005:写入访问冲突,c++