以下是我的代码。我希望我的程序接受输入单词的第一个字符并保存为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();
答案 0 :(得分:1)
使用您显示的代码没有任何错误(语法上),如以下完全自包含的示例所示:
#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*'