Почему мой вектор [4096] рассматривается как указатель и вызывает переполнение стека?C++

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

Сообщение Anonymous »

Я пытаюсь создать простой класс памяти в C ++, который имитирует 4096 байтов памяти, используя массив Vector . Я написал функцию addTomemory , которая копирует содержимое вектора в эту смоделированную память и функцию Print для печати содержимого памяти. Однако, когда я запускаю код, я получаю переполнение стека, а отладка показывает, что AddTomemory использует 131104 байт стека , что кажется слишком много. Кроме того, WorkingMemory рассматривается как указатель, хотя я никогда не объявлял его одним. Я впервые работаю над проектом в C ++, поэтому я могу неправильно понять, как здесь лучше всего управлять памятью.

Код: Выделить всё

#include 
#include 
#include "Memory.h"
using namespace std;

int main()
{
vector gameData = { 1, 2, 3 };

Memory RAM;
RAM.addToMemory(gameData);
RAM.print();

return 0;
}
< /code>
memory.h
#pragma once
#include 
using namespace std;

class Memory {
private:
vector workingMemory[4096];
public:
void addToMemory(vector& gameData);
void print();
};
< /code>
memory.cpp
#include "Memory.h"
#include 
using namespace std;

void Memory::addToMemory(vector& gameData) {
for (uint8_t i = 0; i < gameData.size(); i++) {
workingMemory[i] = gameData[i];
}
}

void Memory::print() {
cout 
 worptrow: < /press> < /p>

столько памяти стека?vector
или аналогичный контейнер?>

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

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

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

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

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

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

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