微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。