【c++】为什么运行程序显示指令引用了0x内存,该内存不能为written

#include
#include
using namespace std;

int main()
{
vector vec ;
vector::iterator p;
int num[]={};
for(int i=0;i<=10;i++)
{
num[i]=i;
cout<<num[i]<<'\t';
vec.push_back(num[i]);
}

for(p=vec.begin();p!=vec.end();p++){
cout<<*p<<endl;
}

}

你代码不完整,
include后面没有库
int num[]={},怎么给了一个空数组?

进程的内存空间, 进程给内存分了好多块, 每块内存的作用和权限都不一样的; 权限有 rwx 可读可写可执行 之类的。
有的块是用来存放指令的, 一般是 rx 可读可执行

指针错误导致指向了其他地方, 就会报类似错。