Хорошо, у меня есть структура, TextBlock
, которая имитирует перемещение блоков текста по экрану. Вот заголовок:
struct TextBlock
{
RECT textArea;
RECT rectArea;
double whatBlock;
double x;
double y;
double angle;
double speed;
double width;
double height;
char *word;
bool stuck;
};
Когда это так, все работает отлично. Проблема возникает, когда я добавляю еще одного члена, который мне нужен. Это работает так, что у меня есть два массива TextBlocks. Первый предназначен для движущихся, второй - для тех, которые не двигаются, показывая, куда нужно идти движущимся. Все слова рандомизированы от предложения до беспорядка, поэтому этот элемент данных будет установлен (закомментирован) на индекс того, какой статический блок принадлежит движущемуся, поэтому я знаю, когда он находится в нужном месте.
int whatBlock;
После создания я прохожу все созданные объекты и устанавливаю
tb[i][j].whatBlock = 0; //same area as other data members being set, moving text
stb[i][j].whatBlock = 0; //static text block
Когда я пытаюсь запустить это, ничего не делая с элементом данных, возникает ошибка:
The instruction at [address] referenced memory at [different address]. The memory could not be "written".
Обратите внимание, что если я не попытаюсь изменить его, а просто создаю элемент данных, это сработает.
На этом этапе, когда я почти закончил и у меня появилось множество подобных проблем, я немного устал от этой программы>.> Любая помощь по этому вопросу будет принята с благодарностью.
РЕДАКТИРОВАТЬ: Эта проблема теперь исправлена. Я ответил на принятый ответ с объяснением, но это создает другую проблему, даже если это не влияет на эту программу.