Stack overflow visual C ++, potencialmente tamanho do array?
Tanto quanto sei, isso não é causado por uma recursão infinita.
O programa funcionou corretamente com matrizes menores (é um editor de áudio). Agora eu tenho funcionalidade aumentada para permitir matrizes maiores (até 5 minutos de áudio, 26460000 pedaços de dados de 16 bits ~ 50MB).
Como estou aumentando o tamanho da matriz, estou recebendo erros de estouro de pilha em uma função específica, onde ela deve reverter a reprodução de um arquivo de entrada, gravando a matriz em uma nova matriz de trás para frente e, em seguida, substituindo a matriz original. Eu estou supondo que cada array pode ter até 50MB, pode ser onde está o problema:
<code>//initialise temporary new array to place samples in short signed int reverse_data[max_number_samples]; for (i=0; i<track_samples; i++) { //puts data from sound_data into reverse_data backwards. reverse_data[(max_number_samples-1)-i]=sound_data[i]; } for (i=0; i<track_samples; i++) { //now overwrites sound_data with the data in reverse_data sound_data[i]=reverse_data[i]; } </code>
Eu sou relativamente novo em C ++, e estou programando em geral, e não tenho certeza do que os erros que recebo durante a depuração estão realmente me dizendo.
Qualquer ajuda seria apreciada, tenho certeza que há uma solução bastante simples (eu li coisas envolvendo 'heaps', mas não tenho certeza do que realmente é 'a'heap').