数组溢出解决方法

数组溢出
下面这个应该有错误,但是为什么vc6.0可以执行呢?但是用vc2010就报错了
#include <iostream>
#include <string>
using namespace std;
int main()
{
const size_t a= 10;
int array[]={1,2,3,4,5,6,7,8,8,9,0};
int array2[a];
for(int i= 0; i<=a; i++)
{ array2[i]= array[i];
cout<< array2[i]<< endl;
}
return 0;

}


------解决方案--------------------
仅仅是编译器的区别而已,知道是数组溢出的错误就行了。
------解决方案--------------------
能运行说明不了什么,越界就是越界了,不要抱着侥幸心理。
------解决方案--------------------
数组溢出编译器是无法检测的,程序员需要自己维护,另外一些lint工具可以辅助检测。