getline在派生类构造函数上被跳过

问题描述

    Racecar::Racecar(istream& in) : Car(in) {
        vector<string> result{};
        string str{};
        while (getline(in,str,',')) {
            str.erase(remove(str.begin(),str.end(),' '),str.end());
            result.push_back(str);
        }
        m_booster = stod(result.back());
        
    }
    Car::Car(istream& is) {
        vector<string> result{};
        string str{};
        while (getline(is,str.end());
            result.push_back(str);
        }
        carMaker = result[1];
        if (!checkCondition(result[2][0])) {
            throw "EXCEPTION: not a valid condition.";
        }
        carCondition = result[2][0];
        if (!stod(result[3])) {
            throw "EXCEPTION: topspeed is not a number.";
        }
        carTopSpeed = stod(result[3]);
    }

基类Car被称为传递istream& in,我想访问istream&的值以提取最后一个“字符串”,但由于某些原因而跳过了getline get。我在做错什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)