Errore array dinamico[C++]

di il
3 risposte

Errore array dinamico[C++]

Salve, sto cercando di formare un array dinamico per allocare dei dati ma alla chiusura del programma esce un allert dicendo che "HEAP CORRUPTION DETECTED:after normal block (#149) at 0x01444D40. CTR detected that the application wrote to memory after end of heap buffer"

Oppure se provo a cambiare qualcosa magari (intendo la posizione di alcune istanze- come prima mettere cin>>n e dopo l'array-) mi da questo allert "Gravità Codice Descrizione Progetto File Riga Stato eliminazione Stato eliminazione
Avviso C6385 Dati non validi: nell'accesso a 'a', la dimensione leggibile è 'int n*4' byte, ma è possibile leggere '8' byte. ConsoleApplication1


Il codice è il seguente:


#include <iostream>
#include <string>
#include <string.h>
using namespace std;

int n;
int b;
int i;

int main()
{

	
	cin >> n;
	int* a = new int[n];  

	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
		
	}


	delete[]a;


	return 0;
}
Chiedo umilmente il vostro aiuto

3 Risposte

  • Re: Errore array dinamico[C++]

    Sicuro che il codice che utilizzi è solo quello? A parte le inutili include delle string e la b che non serve?
  • Re: Errore array dinamico[C++]

    oregon ha scritto:


    Sicuro che il codice che utilizzi è solo quello? A parte le inutili include delle string e la b che non serve?
    Ho risolto mettendo le mani ad una funzione che avevo scritto sopra al codice che non avevo riportato qui
  • Re: Errore array dinamico[C++]

    Ecco ... magari la prossima volta posta tutto così si capisce subito dove sta il problema.
Devi accedere o registrarti per scrivere nel forum
3 risposte