opov06.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 32 行

C
32
字号
#include "fail.h"

#ifdef __WATCOM_NAMESPACE__

namespace x {
    enum E { A };
    struct C { };
    int u = __LINE__;
    int operator ++( E & ) { return __LINE__; }
    int operator ++( E &, int ) { return __LINE__; }
    int operator ++( C & ) { return __LINE__; }
    int operator ++( C &, int ) { return __LINE__; }
};

void foo( x::E r ) {
    ++r;
    r++;
}
int main() {
    x::E e;
    x::C c;
    unsigned line = x::u;
    if( ++e != ++line ) _fail;
    if( e++ != ++line ) _fail;
    if( ++c != ++line ) _fail;
    if( c++ != ++line ) _fail;
    _PASS;
}
#else
ALWAYS_PASS
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?