请大虾指点一下错误 我编写了一些程序能够编译通过但在运行时出现一个错误提示对话框::说某个指令(用十六进制表示)不能对某个内存地址读或者写这是出现了什么错误呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能对某个内存地址读或者写 ,即指针指向了不属于程序可以调用的内存。比如:void xxx(int* p){ int a=0; p=&a;}int main(){ int* p; xxx(p); cout<<*p; return 0;}会出错而int main(){ int* p; int a=0; p=&a; cout<<*p; return 0;}不会出错因为第一个程序中的a为临时变量,存放于栈中,当xxx函数调用结束后,a的地址释放p就指向了一个它不可以指向的地址。类似的还有很多,原理是一样的。 关于.idl文件 请问这个操作用VC可以实现吗? 如何让Button控件可用? 新手边看孙鑫教学视频边学习VC++,遇到的小问题? 树控件(Tree Control) 那位高手有画二维图形的原代码,把核心部分发给我参考一下 进程问题(时间,内存) office下的 .WMF图片旋转问题 关于软件狗 请问如何对一组同类控件进行遍历? cstatusbarctrl 的问题,在线等啊!! [100分]为什么VC调用类时不按定义好的函数调用,还总是提前析构呢?UP有分
比如:
void xxx(int* p)
{
int a=0;
p=&a;
}
int main()
{
int* p;
xxx(p);
cout<<*p;
return 0;
}
会出错
而
int main()
{
int* p;
int a=0;
p=&a;
cout<<*p;
return 0;
}
不会出错
因为第一个程序中的a为临时变量,存放于栈中,当xxx函数调用结束后,a的地址释放
p就指向了一个它不可以指向的地址。
类似的还有很多,原理是一样的。