c++ - 防止在 C++ 的构造函数中隐式转换数字类型

标签 c++ casting constructor implicit

我有一个如下形式的构造器:

MyClass(int a, int b, int c);

它被这样的代码调用:

MyClass my_object(4.0, 3.14, 0.002);

我想阻止这种从 double 到 int 的自动转换,或者至少在编译时得到警告。

似乎“显式”关键字在这些情况下不起作用,对吗?

最佳答案

你的编译器是什么?在 gcc 下,您可以使用 -Wconversion 来警告您这些类型的转换。

关于c++ - 防止在 C++ 的构造函数中隐式转换数字类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2295011/

相关文章:

c++ - 有没有办法在所有 C 或 CPP 文件中自动包含头文件?

ruby - 将 Nokogiri::XML::Document 转换为 Nokogiri::HTML::Document

c++ - 如何在部分类模板特化中实现继承?

c++ - 插入 SQL 数据库时忽略空格而不删除字符串中的空格

c++ - 用于比较指针 vector 的容器和类型的模板函数

c++ - 没有函数模板的实例匹配指定的类型

java - 我可以用另一个 FilterOutputStream 包装一个 FilterOutputStream 吗?

c# - 为什么 Cast() 不调用构造函数?

python - Pygame:根据构造函数参数绘制椭圆或矩形

c++ - C++ 中的意外破坏