Моя программа продолжает сбой, когда x = 2
и y = 6
cellChargeTime[x][y].push_back(0);
Любые идеи о том, как исправить это или что может быть причиной этого сбоя.Нарушение прав доступа при записи двумерных векторов
vector<int> **cellChargeTime;
cellChargeTime = new vector<int>*[xMax]; //xMax = 40
for (int x=0; x<xMax; x++)
cellChargeTime[x] = new vector<int> [yMax]; //yMax = 40
for (int x=0; x<xMax; x++){
for (int y=0; y<yMax; y++){
for (int i=0; i< numRuns; i++){ //numRuns = 1
cellChargeTime[x][y].push_back(0); // Crashes at x = 2; y = 6
}
}
}
[Не удалось воспроизвести] (HTTP: //melpon.org/wandbox/permlink/294tgg63sgMYsCQY). Не могли бы вы опубликовать [Минимальный, * Полный * и Подтверждаемый пример] (http://stackoverflow.com/help/mcve)? – MikeCAT
Почему на земле 'vector ** cellChargeTime;' ?? –
@MikeCAT Я не могу воспроизвести проблему после компиляции вышеуказанного кода вне моей основной функции. Во всяком случае, это то, что я получаю. __gnu_cxx :: new_allocator :: deallocate (this = 0x485708245c894890, __p = 0x8b48000000e0ec81) –
Far