我有这样的代码全局指针当地文字:访问冲突
#include <iostream>
int *p=nullptr;
void sum(void)
{
*p=100;
}
int _tmain(int argc, _TCHAR* argv[])
{
sum();
std::cout<<*p<<std::endl;
return 0;
}
我得到的错误“在0x009e140e在A.EXE未处理的异常:0000005:访问冲突读取位置00000000”
指针是全局的,它应该对所有子范围都不可见吗? 我不明白,因为我是初学者,这里发生了什么?
标题说明了一切...... :-P有从未被分配过了'p'任何空间。 –
对不起,它不是一个变量,它的字面意思,我会纠正它。但问题仍然是 – MiceZeusDig
“访问冲突”。 - 您正在写入无效的内存位置。代码是非常好的,你是在做一些非法的事情:写一个空指针。 –