相关疑难解决方法(0)

强制转换是可覆盖的操作吗?如果是这样,如何?

是否可以在 C++ 中覆盖(C 风格)强制转换?

假设我有代码

double x = 42;
int k = (int)x;
Run Code Online (Sandbox Code Playgroud)

我可以让第二行中的演员执行我写的一些代码吗?就像是

// I don't know C++
// I have no idea if this has more syntax errors than words
operator (int)(double) {
    std::cout << "casting from double to int" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为“有没有办法让 gcc 或 clang 对显式转换发出警告?” 和我的建议。

c++ overriding casting

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

标签 统计

c++ ×1

casting ×1

overriding ×1