Я делаю игру с линкорами, поэтому, когда я передаю что-то вроде «A10» в координатную функцию, ему нужно сделать столбец буквой и строкой в число.Преобразование char в int?
Coordinate(std::string coord = "A10")
{
char c = coord[0];
col = c - 16;
int r = atoi((coord.substr(1,2)).c_str());
row = r-1;
};
Таким образом, в этом примере, проходя A10 должен сделать Col = 0 (А = 0, В = 1, С = 2) и строка = 9.
В строке 9, равный, кажется, работает, но Col равно 0 нет.
Значение Ascii A равно 65 – AurA
Вы можете расширить свой класс с помощью специального литерала. I.e: 'A10_C'. Вы даже должны проверить, что переданная строка находится в правильном формате и в противном случае исключает исключение. – Paranaix