Итак, я хочу создать матричный класс 4x4, который хранит свои данные как float** m
. Я инициализирую это так:
Matrix4f::Matrix4f()
{
this->m = new float*[4];
for (int i = 0; i < 4; i++)
{
this->m[i] = new float[4];
memset(this->m[i], 0, sizeof(float) * 4);
}
}
И после этого у меня есть такой деструктор:
Matrix4f::~Matrix4f()
{
for (int i = 0; i < 4; i++)
{
delete[] m[i];
}
delete[] m;
}
Но иногда, когда я использую этот класс, эта строка:
delete[] m[i];
Вызывает точку останова и выдает: Critical error detected c0000374
Это правильный способ инициализации и удаления матрицы 4x4?