从文本文件数据创建对象。没有可行的重载 '=' 错误

creating objects from text file data. no viable overloaded '=' error

我基本上是在尝试对文件中的字符串进行标记化,并使用标记作为对象的参数来创建对象。

我需要能够为文件中的每一行创建一个新对象。

但我收到错误消息 no viable overloaded '='

 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] = new Package(tokens[0] ,tokens[1],tokens[2],tokens[3], stod(tokens[4]), stod(tokens[5]));

您的 myPack 向量的长度为 0,因此 myPack[0](访问向量中的第一个元素)是一个错误。

您必须 push_back 您的包对象才能插入它。

vector<Package *> myPack[5]; 是五个(空)向量的数组,而不是具有五个 Package* 元素的向量。

后者看起来像vector<Package *> myPack(5);