Память не распределяетсяC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Память не распределяется

Сообщение Anonymous »

Мне жаль, если вопрос глупый. Проблема в том, что память для моего динамического массива внутри статической структуры не распределяется. Причиной может быть мой компьютер (это действительно старый ноутбук с 8 ГБ ОЗУ), но я сомневаюсь, что это было. Я, вероятно, совершил ошибку при распределении кодирования памяти < /p>
У меня есть следующие структуры со статическими значениями < /p>
struct City {
std::string name;
int Population=0;
bool HasMetro=false;
}NullCity;

struct HashNode {
long long key=0;
City data;
};

HashNode NullNode = {0,NullCity};
struct LinkedList {
HashNode Data;
LinkedList* next=nullptr;
};

LinkedList NullList = {NullNode, nullptr};

struct HashTable {
int size=0;
LinkedList** BucketsArray;
int amount=0;
};
HashTable HT={30,new LinkedList*[30],0};
< /code>
Код перед Ht.bucketsarray - это фиксированное, и я постепенно пытаюсь сделать его динамическим массивом.@ ALREADY PREPROCESSED @HT = {HashTable}
size = {int} 30
BucketsArray = {LinkedList **} 0xef3b00
*BucketsArray = {LinkedList *} 0xbaadf00dbaadf00d
*value = {LinkedList}
error = Error occurred in Python: Cannot access memory at address 0xbaadf00dbaadf03d
amount = {int} 0
< /code>
((также я кодируюсь в Clion C ++, не в Python, поэтому я удивлен, чтобы увидеть его здесь))
.@ ALREADY PREPROCESSED @HT = {HashTable}
size = {int} 30
BucketsArray = {LinkedList *[30]}
[0] = {LinkedList *} NULL
[1] = {LinkedList *} NULL
[2] = {LinkedList *} NULL
[3] = {LinkedList *} NULL
[4] = {LinkedList *} NULL
[5] = {LinkedList *} NULL
[6] = {LinkedList *} NULL
[7] = {LinkedList *} NULL
[8] = {LinkedList *} NULL
[9] = {LinkedList *} NULL
[10] = {LinkedList *} NULL
[11] = {LinkedList *} NULL
[12] = {LinkedList *} NULL
[13] = {LinkedList *} NULL
[14] = {LinkedList *} NULL
[15] = {LinkedList *} NULL
[16] = {LinkedList *} NULL
[17] = {LinkedList *} NULL
[18] = {LinkedList *} NULL
[19] = {LinkedList *} NULL
[20] = {LinkedList *} NULL
[21] = {LinkedList *} NULL
[22] = {LinkedList *} NULL
[23] = {LinkedList *} NULL
[24] = {LinkedList *} NULL
[25] = {LinkedList *} NULL
[26] = {LinkedList *} NULL
[27] = {LinkedList *} NULL
[28] = {LinkedList *} NULL
[29] = {LinkedList *} NULL
amount = {int} 0
< /code>
((как текущие выводы, так и вывод из ранее взяты из отладчика Clion в начале функции int main ().)) < /p>
Я также пытался объявить HT следующие способы, и ни один из них не дал мне память. < /p>
struct HashTable {
int size=30;
LinkedList** BucketsArray = new LinkedList*[size];
int amount=0;
};

HashTable HT;
< /code>
struct HashTable {
int size=30;
LinkedList** BucketsArray = new LinkedList*[30];
int amount=0;
};

HashTable HT;
< /code>
struct HashTable {
int size=0;
LinkedList** BucketsArray;
int amount=0;
};

HashTable HT={};


Подробнее здесь: https://stackoverflow.com/questions/795 ... -allocated
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»