Прежде всего,
m_data = ...;
является присваиванием, а не инициализацией.
Использование
m_data(a_M);
m_colIndex(a_M);
внутри тела конструктора неверно. Используйте
SparseMatrix::SparseMatrix(int a_M, int a_N) : m_m(a_M),
m_n(a_N),
m_zero(0),
m_data(a_M),
m_colIndex(a_M)
{
}
Поскольку переменные-члены m_m
и m_n
имеют тип unsigned int
, я бы предложил изменить конструктор на:
SparseMatrix::SparseMatrix(unsigned int a_M, unsigned int a_N) : m_m(a_M),
m_n(a_N),
m_zero(0),
m_data(a_M),
m_colIndex(a_M)
{
}