Ошибка при попытке чтения поля объекта из метода класса
Упрощенно мой класс выглядит так:
class Map
{
private:
int width;
int height
public:
Map(int width, int height)
{
this->width = width;
this->height = height;
}
int getWidth()
{
return width;
}
int getHeight()
{
return height;
}
}
Остальные поля и методы я опустил за ненадобностью в примере.
Объект я инициализировал в основной форме WinForms следующим образом:
private:
Map* map = new Map(50, 50);
По другому инициализировать не получалось из-за ошибки "Член класса управляемый не может относиться к типу класса неуправляемый" (при инициализации Map* map = new Map(50, 50);)
После этого я вызываю другой, не приведенный здесь метод класса Map, в котором нужно значение поля width, для объекта map и получаю следующую ошибку: System.AccessViolationException: "Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена."
Подскажите, пожалуйста, с чем это может быть связано. Моя единственная догадка, что что-то не так с инициализацией, но я без понятия, как это исправить.