J'ai une classe avec des variables de membre privées déclarées dans un fichier d'en-tête. Dans mon constructeur, je passe certains noms de fichiers et crée d'autres objets en utilisant ces noms. Cela fonctionne bien. Cependant, lorsque j'essaie d'ajouter une autre variable membre et de l'initialiser dans le constructeur, j'obtiens une violation de lecture d'accès. J'ai envoyé le code à quelqu'un d'autre et cela fonctionne très bien sur son ordinateur. Une idée de ce qui pourrait être faux?Erreur de lecture d'accès lors de l'utilisation de la variable de membre de classe
Voici le code incriminé:
Le fichier .h:
class QUERYMANAGER {
INDEXCACHE *cache;
URLTABLE *table;
SNIPPET *snip;
int* iquery[MAX_QUERY_LENGTH];
int* metapointers[MAX_QUERY_LENGTH];
int blockpointers[MAX_QUERY_LENGTH];
int docpositions[MAX_QUERY_LENGTH];
int numberdocs[MAX_QUERY_LENGTH];
int frequencies[MAX_QUERY_LENGTH];
int docarrays[MAX_QUERY_LENGTH][256];
int qsize;
public:
QUERYMANAGER();
QUERYMANAGER(char *indexfname, char *btfname, char *urltablefname, char *snippetfname, char *snippetbtfname);
~QUERYMANAGER();
Ceci est le fichier .cpp:
#include "querymanagernew.h"
#include "snippet.h"
using namespace std;
QUERYMANAGER::QUERYMANAGER(char *indexfname, char *btfname, char *urltablefname, char *snippetfname, char *snippetbtfname){
cache = new INDEXCACHE(indexfname, btfname);
table = new URLTABLE(urltablefname);
snip = new SNIPPET(snippetfname, snippetbtfname);
//this is where the error occurs
qsize = 0;
}
Je suis tout à fait à une perte de ce qui est provoquant ceci - des idées?
Merci, bsg
Il peut être important de voir comment vous instanciez la classe. – spoulson