小编Dav*_*son的帖子

在复合运算符上使用 static_cast

我是 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)

c++ c++17

4
推荐指数
1
解决办法
104
查看次数

标签 统计

c++ ×1

c++17 ×1