0

下面是我的代码。我希望我的程序接受输入单词的第一个字符并保存为 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();
4

1 回答 1

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;
}

这既编译又运行良好,因此您的问题必须在其他地方。

您需要更好地注意编译器给您的错误消息,特别是行号。然后在该点或附近检查文件(如果您无法弄清楚,请告诉我们)。

如果您不小心将n1orn2变量声明为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*'
于 2013-04-26T04:08:54.077 回答