Unhandled exception at 0x775f70f4 in now.exe: 0xC0000005: Access violation.

0

Witam nie wiem dlaczego wyskakuje mi błąd przy kompilacji; Unhandled exception at 0x775f70f4 in now.exe: 0xC0000005: Access violation.
wcześniej wyświetlało function was corupted i program wskazywał na klamre kończącą blok funkcji main()

 
#include "stdafx.h"




#include <iostream>
#include<conio.h>
#include<cstring>
using namespace std;

int zero(double tab[][5][30]);
int main()
{
   double tab[10][5][30];
   zero(tab);


	getchar();
}


int zero(double tab[][5][30])
{

	for(int i=0;i<=10;)
	{
		for(int j=0;j<=5;)
		{
			for(int k=0;k<=30;)
			{
				tab[i][j][k]=0;
				k++;
			}
			j++;
		}
		i++;
	}

	for(int i=0;i<=10;)
	{
		for(int j=0;j<=5;)
		{
			for(int k=0;k<=30;)
			{
				cout<<tab[i][j][k];
				k++;
				
			}
			j++;
			
		}
		i++;
	}
	return 0;
}








0

Strzelam że problem może być z prekompilowanymi bibliotekami które dodajesz? (#include "stdafx.h")
Sam kod który zamieściłeś jest poprawny (jakieś braki spacji w include znalazłem).

Możesz spróbować skompilować poniższy kod i sprawdzić czy dalej masz problemy z kompilacją.

 
#include <iostream>
#include <cstring>
using namespace std;

int zero(double tab[][5][30]);
int main() {
	double tab[10][5][30];
	zero(tab);
}

int zero(double tab[][5][30]) {
	for (int i = 0; i < 10; i++) {
		for (int j = 0; j < 5; j++) {
			for (int k = 0; k < 30; k++) {
				tab[i][j][k] = 0;
			}
		}
	}

	for (int i = 0; i < 10; i++) {
		for (int j = 0; j < 5; j++) {
			for (int k = 0; k < 30; k++) {
				cout << tab[i][j][k];
			}
		}
	}
	return 0;
}

0

Wszystkie te pętle mają złe warunki. Nie powinno być <= tylko <. Teraz zapisujesz do lokalizacji poza tablicą co powoduje access violation, który widzisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1