我是 C++ 编程的初学者......我正在练习,我遇到了这个问题......在这里我试图在复合运算符上使用 static_cast......我实际上是在尝试将两个整数相除并得到答案作为双...这是代码:
#include <iostream>
using namespace std;
int main() {
int g {0}, h {0};
cout << "Enter g and h: " << endl;
cin >> g >> h;
static_cast<double>(g) /= (h);
cout << "g: " << g << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在我知道我可以将 int 改为 double ......或者做这样的事情:
i = g/h;
cout << static_cast<double>(i) << endl;
Run Code Online (Sandbox Code Playgroud)
但让我们挑战一下……如果我们真的需要输入整数(而不是双精度数)怎么办?
这是我得到的错误:
error: lvalue required as left operand of assignment
Run Code Online (Sandbox Code Playgroud)
示例:通过强制转换更改数据类型
#include <iostream>
using namespace std;
int main()
{
int total {0}; …Run Code Online (Sandbox Code Playgroud)