当我运行我的程序时,我收到了段错误。我相信它来自于我如何使用在类定义中私有(private)声明的数组“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];
关于c++ - 带有字符串数组的段错误c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5710254/