Я пытаюсь написать класс C++ с несколькими указателями на ints в качестве частных членов. я получаю это исключение при попытке присвоить значение указателя адреса:Объявить указатель как член класса C++
Unhandled exception at 0x000B140A in test.exe: 0xC0000005: Access violation writing location 0x00000000.
Здесь минимальный объем кода, который будет воспроизвести проблему на моей машине
#include "stdafx.h"
class Chunker {
public:
Chunker(int cx, int cy);
private:
int chunkSizeX, chunkSizeY;
int *yOff, *xOff;
};
Chunker::Chunker(int cx, int cy){
chunkSizeX = cx;
chunkSizeY = cy;
*xOff = 0;
*yOff = 0;
};
int main(int argc, char *argv)
{
Chunker chunker(12, 12);
return 0;
}
Я просто не могу выяснить, что здесь не так?
У вас есть хороший ответ ниже, но почему вы используете указатели здесь, в первую очередь? – Quentin
указатели - это потому, что в полном коде есть функция, которая на каждом вызове возвращает следующий «кусок» массива. Указатели xOff и yOff указывают на ints, которые отслеживают, где они находятся в массиве. – jramm
Итак, xOff и yOff являются индексаторами для некоторого массива? Вы можете просто определить их как int и использовать их как 'myXArray [xOffset]' – tofi9