2016-11-26 6 views
-2

Ich bin unerfahren in C++ und bin auf eine grundlegende Segmentierung Fehler Fehler, den ich nicht wissen, wie zu beheben. Ich erstelle ein dynamisches 2D-Array und ändere dann die Werte dieses Arrays. Das Beispiel für den Fall, ist der folgende Code:Sehr einfache Segmentierung Fehler Fehler C++

string** fishdata = new string*[3]; 
for(int i = 0; i < 3; ++i) 
    fishdata[i] = new string[6]; 

fishdata[currentfish][count] += "example"; 

Die letzte Zeile dieses Code gibt einen Segmentation Fault Fehler

+0

Warum in aller Welt benutzen Sie 'new' hier? Auch "Beispiel" ist kein String-Literal. –

+0

Ich bin mir nicht sicher, was ich verwenden soll? –

+0

Es scheint, dass, was Sie eigentlich suchen, ist 'std :: vector '. Und ich nehme an, es ist ein Tippfehler, aber einfache Anführungszeichen sind für Zeichenliterale; Verwenden Sie doppelte Anführungszeichen für Zeichenfolgenliterale. Wenn Ihr Ziel ist, C++ zu lernen, stellen Sie sicher, dass Sie von einem Buch über C++ lernen, nicht von einem, das über C geschrieben wurde! –

Antwort

0

Wie viele Menschen in den Kommentaren gesagt, es ein dummer Fehler über den Wert der Variablen ist count, die größer als 5 war (die Größe der zweiten Dimension des Arrays).