Ok, donc je fais un programme pour la classe lorsque je rencontre un bug que je n'ai jamais vu auparavant et aucune idée de ce qu'il faut faire avec une expérience minimale avec l'utilisation du débogueur, donc Je suis venu ici en espérant que quelqu'un ici puisse me fixer le chemin pour corriger ce bug. Mon bug est l'emplacement de lecture de la violation d'accès. Voici la partie du code qui semble me donner l'erreur:Accédez à l'emplacement de lecture de violation avec le programme simple
#include "Book.h"
using namespace std;
void add (char*, char*, int);
void remove (int&);
void list();
int Count;
Book Bookshelf [4];
int main()
{
char* In = "";
char* N = "";
char* A = "";
int Y;
int Num;
do
{
cout << "Bookshelf> ";
cin >> In;
if (In == "add")
{
cout << "Bookshelf> Enter book: ";
cin >> N >> A >> Y;
add (N,A,Y);
}
else if (In == "remove")
{
cout << "Bookshelf> Select number: ";
cin >> Num;
remove (Num);
}
else if (In == "list")
{
}
} while (cin != "quit");
return 0;
}
void add (char* N, char* A, int Y)
{
if (Bookshelf[4].IsEmpty() == false)
cout << "Error!" << endl;
else
{
Bookshelf[Count] = Book (N,A,Y);
Count++;
}
cout << "Bookshelf> ";
}
Je reçois l'erreur quand je tape ajouter dans la ligne de commande pour essayer d'appeler la fonction d'ajout, mais il se produit immédiatement si le débogueur est pas aide-moi. Je sais que le problème est probablement très simple mais je n'arrive pas à le trouver. Toute aide que vous pouvez offrir serait grandement appréciée. Faites-moi savoir si d'autres échantillons de code sont nécessaires.
Jetez un oeil à l'utilisation de 'std :: string' –