class C;
struct X {
X(const C &){
return X();
}
};
struct C {
operator int(){
return 0;
}
}
int foo(){
return *this;
}
C &bar(){
return *this;
}
X baz(){
return *this;
}
};
struct X {
X(const C &){
return X();
}
};
struct C {
operator int(){
return 0;
}
}
int foo(){
return *this;
}
C &bar(){
return *this;
}
X baz(){
return *this;
}
};
![](http://hiphotos.baidu.com/lh_mouse_ex/pic/item/a5eb5969503268b14216947a.jpg?v=tbs)