ctor28.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 33 行
C
33 行
// derived from CTOR21 -- a tricky conversion example
#include "fail.h"
class X {
public:
operator int() { return x; }
int x;
X( int x ) : x(x) {}
int filler[33]; // make sure sizeof( X ) != sizeof( void * )
};
class Y {
public:
int y;
operator X();
Y( int y ) :y(y) {}
int filler[33]; // make sure sizeof( X ) != sizeof( void * )
};
Y::operator X()
{
return X(y);
}
Y a(463);
int c = X(a); // ok: a.operator X().operator int()
int main() {
if( c != 463 ) fail(__LINE__);
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?