`
kmplayer
  • 浏览: 508987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

条款26:防卫潜伏的ambiguity状态

F# 
阅读更多
1,
class B;

class A
{
public:
A(const B&);//A可以根据B构造出来
};

class B
{
public:
operator A() const; //B可以被转换为A
};

void f(const A&);
B b;
f(b); //错误,模棱两可。

2,还发生在标准转换中。
例:
void f(int);
void f(char);
double d = 6.02;
f(d); //错误,模棱两可。

3,发生于“多重继承”。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics