Итак, в моем коде C ++ типа _Scalar
есть переменная, которая может принимать множество различных типов (int, double ...).
Таким образом, я инициализирую свой указатель с помощью оператора new в моем шаблонном классе. Когда я хочу выделить память, я использую функцию memset в конструкторе моего шаблона.
//At the beginning of the class
_Scalar* m_data;
//In the constructor
m_data = new _Scalar;
memset(m_data, 0, sizeof(_Scalar) * m_size)
Для m_size
из 15, например, все в порядке. Но когда m_size
равно 10000, я получаю ошибку нарушения записи доступа. Я наблюдал за переменной m_data
в Visual Studio, и вот что я получаю:
Так в чем проблема и как ее решить? Я довольно новичок в C ++.