Вопрос по функции stoi в C++

#include <iostream>
#include <string>
using namespace std;

int index(char[], char);

int main() {
const char letters[8] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
int field[8][8] = {};

int x1, y1, x2, y2;
string move;
cin >> move;
x1 = index(letters, move[0]);
x2 = index(letters, move[3]);
y1 = stoi(move[1]);
y2 = stoi(move[4]);

}

int index(const char letters[], char element) {
for (int i = 0; i < 8; i++) {
    if (element == letters[i]) {
        return i;
    }
}
return -1;
}

В данном коде не работает функция stoi. Почему?


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

Автор решения: Harry

Функция stoi может принимать string или wstring - см. ее описание.

Вы ей передаете просто char.

Так что она не "не работает", код вообще не компилируется.

Если бы вы описали, что именно хотите получить - то можно было бы дать какой-то совет, но ваш вопрос так и просится под закрытие по стандартной причине

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе.

→ Ссылка