class static_int
{
public:
static const int v1 = 13;
enum{v2 = 28};
int a[v2];
};main函数中cout<<static_int::v1<<endl;
cout<<static_int::v2<<endl;

解决方案 »

  1.   

    原来是v1 = 13 cout输出为15; v2 = 28 cout输出为34;
      

  2.   

    数据断点参考:#include <time.h>
    #include <stdlib.h>
    #include <windows.h>
    int main() {
        int a,b[11];//本来是b[10],为判断哪句越界,故意声明为b[11]    srand((unsigned int)time(NULL));//按两次F11,等黄色右箭头指向本行时,调试、新建断点、新建数据断点,地址:&b[10],字节计数:4,确定。
        while (1) {//按F5,会停在下面某句,此时a的值为10,b[10]已经被修改为对应0..4之一。
            b[(a=rand()%11)]=0;
            Sleep(100);
            b[(a=rand()%11)]=1;
            Sleep(100);
            b[(a=rand()%11)]=2;
            Sleep(100);
            b[(a=rand()%11)]=3;
            Sleep(100);
            b[(a=rand()%11)]=4;
            Sleep(100);
        }
        return 0;
    }