cin.get и сообщение об ошибке char

Ниже мой код. Я хочу, чтобы моя программа принимала первый символ входного слова, сохраняла его как число 1 и принимала второй символ как число 2. Однако я получаю сообщение об ошибке.
«Преобразование из целочисленного типа в тип указателя требует reinterpret_cast, приведение в стиле C или приведение в стиле функции»

char number1;
char number2;
int all;

cout << "Enter romans to change to numbers. " << endl;
n1 = cin.get();
n2 = cin.get();

0

Решение

В показанном вами коде нет ничего неправильного (синтаксически), о чем свидетельствует следующий полностью автономный пример:

#include <iostream>

int main(){
char n1;
char n2;
int total;

std::cout << "Enter roman numerals to change to numbers." << std::endl;
n1 = std::cin.get();
n2 = std::cin.get();
return 0;
}

Это и компилируется и работает нормально, поэтому ваша проблема должна лежать в другом месте.

Вы должны лучше учитывать сообщение об ошибке, которое выдает ваш компилятор, в частности номер строки. Затем осмотрите файл в этой точке или около нее (и покажите нам, если вы не можете ее выяснить).

Такого рода сообщения об ошибках я ожидаю увидеть, если вы случайно объявили n1 или же n2 переменные как char * скорее, чем char, В таком случае gcc дает мне нечто похожее на то, что вы утверждаете:

qq.cpp: In function 'int main()':
qq.cpp:9: error: invalid conversion from 'int' to 'char*'
qq.cpp:10: error: invalid conversion from 'int' to 'char*'
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru