diffblue-cbmc/regression/cpp-from-CVS/Conversion_Operator1/main.cpp

34 lines
373 B
C++

struct Char {
char c;
Char(char c):c(c){}
};
struct Int {
int i;
operator int& ();
Int(int i):i(i){}
};
Int::operator int&() {return i;}
int main()
{
Int I1(1);
int i1 = int(I1);
assert(i1==1);
Int I2(2);
int i2 = (int&)I2;
assert(i2==2);
Int I3(3);
int i3 =0;
i3 = I3;
assert(i3==3);
Char C3(I3);
assert(C3.c==3);
}