Пишу программу,вылезает ошибка в строке про for

Пишу программу,вылезает ошибка в строке про for.Суть ошибки в том,что компилятор пишет"отсутствует оператор ++,соответствующий этим операндам std::string".Я пытался сделать так,чтобы при вводе(например Mercedes S-class),я мог вывести цену мерса,потом дать пользователю выбрать комплектацию и в итоге всё это сложить и вывести общую цену....

#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>

class wowi
{
private:
    int m_bazovya_cena;
    int m_cena_komplectacii;
    std::string komplektacia;
public:
    wowi(int cennik_bazovya,int cennik_komplectacii)
    {
        m_bazovya_cena = cennik_bazovya;
        m_cena_komplectacii=cennik_komplectacii;
    }
    friend std::ostream& operator<<(std::ostream&out, const wowi&car);
    friend std::istream& operator>>(std::istream&in, const wowi&car);
    friend wowi operator+(const wowi&car1, const wowi&car2);
};

std::ostream& operator<<(std::ostream&out, const wowi&car)
{
    out << car << std::endl;
    return out;
}

//std::istream& operator>>(std::istream&in, const wowi&car)
//{
//
//}

wowi operator+(const wowi&car1, const wowi&car2)
{
    return wowi(car1.m_bazovya_cena + car1.m_cena_komplectacii, car2.m_bazovya_cena + car2.m_cena_komplectacii);
}

int main()
{
    setlocale(LC_ALL, "RUS");

    std::vector<std::string>cars{"Mercedes S-class","BMW 7-series","AUDI A8"};
    std::vector<int>cenniki_cars{17000,15000,12000 };
    std::vector<std::string>komplectaciya{ "Базовая","Базовая люкс","Полулюкс","Максимальная" };
    std::vector<int>cenniki_komplectacii{ 0,1500,5000,8000 };

    std::cout << "Здравствуйте\nКакой автомобиль хотите преобрести???" << std::endl;
    std::string vybor_auto;
    std::cin >> vybor_auto;
    for (vybor_auto, vybor_auto = "Mercedes", vybor_auto++)
    std::cout << "Здравствуйте\nКакой автомобиль хотите преобрести???" << std::endl;
    return 0;
}

Ответы (1 шт):

Автор решения: Harry
for (vybor_auto, vybor_auto = "Mercedes", vybor_auto++)

Начнем с того, что три части заголовка цикла должны разделяться точками с запятой...

for (vybor_auto; vybor_auto = "Mercedes"; vybor_auto++)

Первая часть не делает ничего, ее можно опустить...

for (; vybor_auto = "Mercedes"; vybor_auto++)

Вторая часть присваивает переменной vybor_auto значение "Mercedes" - вам точно нужно присваивание, а не сравнение?

И последняя часть - vybor_auto++. Для строк оператор ++ не существует. Так что его надо заменить.

На что? Для этого надо понять, что вы хотите сделать, а этого из вашего объяснения я понять не смог :(

→ Ссылка