主要的原因是数组涉及到指针算术。 如果一个派生类数组进入一个以基类数组为形参的输出函数中,要用到for循环将每个derived[i]遍历,但编译器实际遍历的格式是按基类输出的,也就是base[1]..base[2],而不是derived[1]..derived[2],这样就会出错,在一些释放内存的时候也会发生这样的事。