2016-11-26 2 views
-2

Je suis inexpérimenté en C++ et je rencontre une erreur de segmentation de base que je ne sais pas corriger. Je crée un tableau 2D dynamique, puis modifie les valeurs de ce tableau. L'exemple en cas est le code suivant:Erreur de segmentation de segmentation très simple C++

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

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

La dernière ligne de ce code renvoie une erreur de défaut de segmentation

+0

Pourquoi diable utilisez-vous 'new' ici? Aussi '' example'' n'est pas un littéral de chaîne. –

+0

Je ne suis pas sûr de ce que je devrais utiliser? –

+0

Il semble que ce que vous recherchez est 'std :: vector '. Et je suppose que c'est une faute de frappe, mais les guillemets simples sont pour les littéraux de caractère; utiliser des guillemets doubles pour les littéraux de chaîne. Si votre objectif est d'apprendre le C++, assurez-vous que vous apprenez d'un livre sur le C++, pas un écrit sur C! –

Répondre

0

Comme beaucoup de gens ont dit dans les commentaires ce fut une erreur stupide sur la valeur de la variable count, qui était supérieur à 5 (la taille de la deuxième dimension du tableau).