ヘッダー ファイルで宣言されたプライベート メンバー変数を持つクラスがあります。私のコンストラクターでは、いくつかのファイル名を渡し、それらの名前を使用して他のオブジェクトを作成します。これはうまくいきます。しかし、別のメンバー変数を追加してコンストラクターで初期化しようとすると、アクセス読み取り違反が発生します。コードを他の人に送信したところ、彼のコンピューターで正常に動作しました。何が間違っている可能性がありますか?
問題のあるコードは次のとおりです。
.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();
これは .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;
}
私はこれを引き起こしているものについて完全に途方に暮れています - 何かアイデアはありますか?
ありがとう、BSG