下面是我的代码。我希望我的程序接受输入单词的第一个字符并保存为 number1 并将第二个字符作为 number2。但是我收到一条错误消息。“从整数类型转换为指针类型需要 reinterpret_cast、C 样式转换或函数样式转换”
char number1;
char number2;
int all;
cout << "Enter romans to change to numbers. " << endl;
n1 = cin.get();
n2 = cin.get();
下面是我的代码。我希望我的程序接受输入单词的第一个字符并保存为 number1 并将第二个字符作为 number2。但是我收到一条错误消息。“从整数类型转换为指针类型需要 reinterpret_cast、C 样式转换或函数样式转换”
char number1;
char number2;
int all;
cout << "Enter romans to change to numbers. " << endl;
n1 = cin.get();
n2 = cin.get();
您显示的代码没有任何问题(在语法上),以下完全独立的示例证明了这一点:
#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
orn2
变量声明为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*'