Array Übergabe Problem
-
Wenn ich diesen Quellcode benutze kann ich das Programm nicht mehr starten, wenn ich den Funktionsaufruf rauslösche kann ich das Programm wieder starten.
Wo ist der Fehler?Funktion Berechnen
[cpp]#include header.h
void berechnen(int punkte[][100])
{
// alle punkte gleich 0 setzenfor(int d=0;d<100;d++)
{
for(int e=0;e<100;e++)
{
punkte[d][e]=0;
}
}punkte[0][0]=5;
}[/cpp]
Main Funktion[cpp]#include header.h
void berechnen(int punkte[][100]);
int main()
{
int punkte[100][100];//nochmal alle Punkte gleich 0
for(int a=0;a<100;a++)
{
for(int b=0;b<100;b++)
{
punkte[a][b]=0;
}
}
// Funktionsaufruf
berechnen(punkte);
// ausgabe von acht punkten
for(int i=0;i<8;i++)
{
cout << punkte[i][0] << "\n";
cout << punkte[0][i] << "\n";
}getch();
return 0;
}[/cpp]
-
was sagt der compiler???
-
Der Compiler sagt wahrscheinlich gar nichts, da das Programm syntaktisch richtig aussieht. Könnte mir nur vorstellen, dass der Linker sagt, dass er die Funktion berechnen nicht finden kann.
@jkarts
Ich vermute deine Funktion berechnen() befindet sich in einer extra Datei. Hast du diese Datei auch deinen Projektdateien hinzugefügt? Was steht in header.h?Aja und nutze das nächste mal für deinen Code bitte die C/C++ Code-Tags (gleich unter dem ersten Smiley).
-
Die Funktion berechnen ist in einer extra Datei und ist auch in das Projekt eingebunden.
In der header.h stehen folgende Includes#include <iostream> #include <stdlib.h> #include <conio.h> #include <iomanip.h>
Der Compiler gibt keine Fehlermeldung aus nur das Programm wird nach dem compilieren nicht gestartet.
-
Debug mal das Programm durch. Dann weißt du wenigstens an welcher Zeile es liegt.
-
Bei der Zeile
void berechnen(int punkte[][100])
(Anfang der Funktion)
stoppt er und zeigt an "Stopped after a fault"
Was soll denn der Fehler sein?
Weitere Angaben:
Stopped at exception c00000fd: application defined exception (code 0xc00000fd) at 0x00401287
-
Hast du auch in die Funktion reingedebugged? Bist du also in die Funktion mit dem Debugger gesprungen oder nur drüber gelaufen?
-
Wenn ich den Debugger starte, läuft der nur bis zum Anfang der Funktion, weiter geht er gar nicht. Step over und into funktioniert gar nicht mehr, wenn ich das mache gibt er immer "Stopped after a fault" an.