Мне жаль, если вопрос глупый. Проблема в том, что память для моего динамического массива внутри статической структуры не распределяется. Причиной может быть мой компьютер (это действительно старый ноутбук с 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
Память не распределяется ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение