C++ 从文本文件数据创建对象。没有可行的过载'=';错误
我基本上是尝试从文件中标记一个字符串,并使用这些标记作为对象的参数创建一个对象 我需要能够为文件中的每一行创建一个新对象 但我得到的错误不是“=”C++ 从文本文件数据创建对象。没有可行的过载'=';错误,c++,file,input,polymorphism,overloading,C++,File,Input,Polymorphism,Overloading,我基本上是尝试从文件中标记一个字符串,并使用这些标记作为对象的参数创建一个对象 我需要能够为文件中的每一行创建一个新对象 但我得到的错误不是“=” string tokens[8]; int i =0; int j=0; vector<Package *> myPack[5]; while (file.good()){ getline(file,buffer); cout<< buffer<< endl; string tok
string tokens[8];
int i =0;
int j=0;
vector<Package *> myPack[5];
while (file.good()){
getline(file,buffer);
cout<< buffer<< endl;
string token, text(buffer);
istringstream iss(text);
cout <<endl;
while (getline(iss, token, '|')){
cout << token << endl;
tokens[i]=token;
i++;
}
myPack[0] = new Package(tokens[0] ,tokens[1],tokens[2],tokens[3], stod(tokens[4]), stod(tokens[5]));
j++;
}
您的
myPack
向量的长度为0,因此myPack[0]
(访问向量中的第一个元素)是一个错误
你必须向后推你的包对象才能插入它。vector myPack[5]代码>是五个(空)向量的数组,而不是包含五个Package*
元素的向量
后者类似于向量myPack(5)代码>非常感谢您!这就是问题所在。
myPack[0] = new Package(tokens[0] ,tokens[1],tokens[2],tokens[3], stod(tokens[4]), stod(tokens[5]));