cdisp9.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 61 行
C
61 行
// MetaWare and IBM CSet++ can't compile this program
// Borland can't execute it properly
#include "fail.h"
struct V {
int v;
virtual void check( int v_value, unsigned line )
{
if( v != v_value ) {
fail(line);
}
}
};
template <class VBase>
struct Trouble : virtual VBase {
Trouble()
{
V *pv = this;
v = __LINE__;
pv->check( v, __LINE__ );
}
virtual void check( int v_value, unsigned line )
{
if( v != v_value ) {
fail(line);
}
}
};
template <class VBase>
struct Disrupt : virtual VBase {
Disrupt()
{
V *pv = this;
v = __LINE__;
pv->check( v, __LINE__ );
}
};
int main()
{
Disrupt<
Trouble<
Disrupt<
Trouble<
Disrupt<
Trouble<
Disrupt<
Trouble<
V
>
>
>
>
>
>
>
> dummy;
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?