C++ 运行时检查失败#2-围绕变量';v';腐败

C++ 运行时检查失败#2-围绕变量';v';腐败,c++,C++,当我运行代码时,会显示此错误消息: “运行时检查失败#2-变量“v”周围的堆栈已损坏” intmain() { INTV; int*指针=&v; int*pointer1=指针; 对于(int i=0;i

当我运行代码时,会显示此错误消息:
“运行时检查失败#2-变量“v”周围的堆栈已损坏”

intmain()
{
INTV;
int*指针=&v;
int*pointer1=指针;
对于(int i=0;i<5;i++)
{
*指针=i;
指针++;
}
指针=指针1;
对于(int i=0;i<5;i++)
{

问哪个编译器?那么,你的问题是什么?你的第一个循环明显地破坏了
v
周围的内存。事实上,它似乎是故意编写来破坏它的。Visual Studio 2015
pointer++;
将指针前进了
sizeof(int)
超过
v
地址的字节。哦,我明白了。谢谢,或者可以用
i<1
替换循环条件来解决。如果不知道OP真正想做什么,就无法知道问题的正确解决方案。只需尝试在不使用基本方法的情况下创建一个数组
int main()
{
    int v;
    int* pointer = &v;
    int *pointer1 = pointer;
    for (int i = 0; i < 5; i++)
    {
        *pointer = i;
        pointer++;
    }
    pointer = pointer1;
    for (int i = 0; i < 5; i++)
    {
        cout << *pointer << endl;
        pointer++;
    }
    system("PAUSE");
    return 0;
} //The compiler catch error here.
int v; // reserved space for 1 integer

for (int i = 0; i < 5; i++) // for the next 5 integers...
{
    *pointer = i; // Write the value of I to the current integer
    pointer++;   // Move to next integer
}
 int v[5];