【发布时间】:2015-08-12 02:11:59
【问题描述】:
我有一个像这样重载的(成员)函数:
bool foo(bool);
int foo(int);
float foo(float);
...
std::string foo( std::string const&);
适用于几个内置类型,但不适用于const char*。调用foo("beauty is only skin-deep");,令我大吃一惊的是,调用了 foo 函数的布尔变量。这引出了我的问题:
问题:内置类型是否有明确定义的隐式转换顺序
不是问题:如何避免隐式转换。隐式转换是多么邪恶。 ...
编辑:删除了关于用户定义问题的隐式转换顺序的问题
【问题讨论】:
-
一次应该是1个问题,所以你可以只选择一个
标签: c++ language-lawyer implicit-conversion