运行程序时,出现“分段错误”错误。我相信它来自我如何使用在类定义中私下声明的数组“string * words”。我在.cpp文件中使用它
有人知道我需要改变吗?
这是我认为问题所在的函数:
Dictionary::Dictionary(string filename){
ifstream inF;
inF.open(filename.c_str());
if (inF.fail()){
cerr << "Error opening file" <<endl;
exit(1);
}
inF >> numwords;
numwords = 3000;
words = new string(words[numwords]);
for(int i=0; i <= numwords - 1; i++){
inF >> words[i];
}
inF.close();
}
最佳答案
该行:
words = new string(words[numwords]);
实际上应该是:
words = new string[numwords];