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

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

本文关键字:重载 错误 文件 文本 数据 创建对象      更新时间:2023-10-16

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

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

但是我得到错误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]));

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

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

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

你必须push_back你的包对象插入它