#include <iostream.h>
struct X;
struct B {} b;
struct Y {} y;
void operator &=(B,B){}
int operator |= ( bool, Y& ) {return 1;}
Y& operator || ( X*x, const B&) { return y; }
struct X {
int f()
{
if(0)
return 0;
// --------------- all these *really* are reserved words! ---------------
else
do return
throw sizeof
true
bitor compl
not new
const
volatile unsigned short
int
not_eq
false and
bitand operator
and_eq
or_eq this
or static_cast
// ----------------------------------------------------------------
<B&>(b), 0;
while (1);
}
};
int main() {
try {
X
x;
x.f();
} catch (int) {
cout <<
"Hello world!\n";
}
return 0;
}