class09.cpp
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C++ 代码 · 共 73 行
CPP
73 行
#include "dump.h"
#pragma inline_depth(0)
class B;
class A {
public:
int public_ai;
A() GOOD;
operator B();
operator float() { GOOD; return 1.0; }
};
class B {
public:
B() GOOD;
int public_bi;
operator A() { GOOD; return A(); };
};
A::operator B() { GOOD; return B(); };
class C : public A {
public:
C() GOOD;
int public_ci;
};
class D {
public:
int public_di;
operator C() { GOOD; return C(); };
};
class E {
public:
int public_ei;
E( float ) GOOD;
E( D ) GOOD;
};
void fa( A ) GOOD;
void fa( ... ) BAD;
void fb( B ) GOOD;
void fb( ... ) BAD;
void ff( float ) GOOD;
void ff( ... ) BAD;
void fd( double ) GOOD;
void fd( ... ) BAD;
void fi( int ) GOOD;
void fi( ... ) BAD;
void fe( E ) GOOD;
void fe( ... ) BAD;
void g( void )
{
A a;
B b;
C c;
D d;
fa( b ); // none of these should invoke ellipsis
fb( a );
ff( c );
fd( c );
fi( c );
fa( d );
fe( 1 );
fe( d );
}
int main( void ) {
g();
CHECK_GOOD( 637 );
return errors != 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?