这里是数组的下标访问越界,
const char* Singer::pv[] = { "other", "alto", "contralto", "soprano", "bass", "bartione" };
这个是需要访问的数组,只有6个元素,
enum{other, alto, contralto, soprano, bass, bartione};
enum{Vtypes = 7};
而Vtypes的值是7,就是数组访问越界;把
i < Vtypes
换成
i < Vtypes-1,问题得到解决
总结,读取指针时候发生冲突,则表示着所要访问的地址并不存在着元素.