Конструктор копирования

Доброго времени суток! Написала класс Треугольная матрица. Не могу исправит такую вот ошибку: ОС Windows инициировала точку останова в Matr.exe.Это может быть вызвано повреждением кучи и указывает на ошибку в Matr.exe или в одной из загруженных им DLL.Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит Matr.exeВыведенное на экран окно содержит дополнительные данные для диагностики ошибки Программа "[6076] Matr.exe: Машинный код" завершилась с кодом 0 (0x0).Как мне удалось выяснить, дело в конструкторе копирования, но в упор не вижу где ошибка.
Triangle::Triangle(const Triangle& A)       
{
    int l=0;
    if (!A.N) throw (Base::Invalid_Parameter());
    pMatr=new *******[A.N];
    for (int i=0;i<A.N;i++)
        pMatr[i]=new ******[l++];
    N=A.N;
    for (int k=0;k<N;k++)
        for (int j=0;j<=k;j++)
            pMatr[k][j]=A.pMatr[k][j];
}
Программа полностью отрабатывает и только в самом конце выдает вот эту ошибку.
2 ответа

int l=0;
   ...
    for (int i=0;i<A.N;i++)
        pMatr[i]=new ******[l++];
под pMatr[0] выделена память под 0 ****** элементов. Вероятно надо ++l


ой ей ей! Такая глупая ошибка) Спасибо большое)