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]));