Я пытаюсь получить от пользователя несколько строк ввода, каждая строка содержит два числа, разделенных пробелом:
4 7
15 21
32 78
Пока мой код:
vector<string> lines;
string line;
int m, n;
while (true)
{
cin >> line;
if (line != "")
{
lines.push_back(line);
}
else
{
break;
}
}
for (string i: lines)
{
istringstream iss(i);
vector<string> results((istream_iterator<string>(iss)), istream_iterator<string>());
if (typeid(results[0]).name() == "char")
{
m = results[0] - '0';
}
else
{
m = atoi(results[0]);
}
if (typeid(results[1]).name() == "string")
{
n = results[1] - '0';
}
else
{
n = atoi(results[1]);
}
calculate(m, n);
}
Я получаю ошибку на m = results[0] - '0'
.Там написано
error: no match for 'operator-' (operand types are
'__gnu_cxx:__alloc_traits<std::allocator<std::__cxx11::basic_string<char> >
>::value_type {aka std::__cxx11::basic_string<char>}' and 'char')
Есть ли способ исправить это, чтобы каждое число в каждой строке разделялось на целочисленную переменную?