cv01.c

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

C
51
字号
#include "fail.h"

#if __WATCOM_REVISION__ >= 8
struct S {
    char c;
    char S::* c_n;
    char const S::* c_c;
    char volatile S::* c_v;
    char const volatile S::* c_cv;
    S() : c_n(&S::c), c_c(&S::c), c_v(&S::c), c_cv(&S::c) {
    }
    char const S::* foo() {
	return &S::c;
    }
    char const S::* bar(int b) {
	return b ? 0 : &S::c;
    }
};
#endif

struct C {
    int x;
    C(int x) : x(x) {
    }
    C( C const volatile &s ) : x(s.x) {
    }
    int f() {
	return x;
    }
    int f() const {
	return x + 1;
    }
    int f() volatile {
	return x - 1;
    }
};
const C fc() {
    C x('c');
    return x;
};
volatile C fv() {
    C x('v');
    return x;
};

int main() {
    if( fc().f() != 'd' ) fail(__LINE__);
    if( fv().f() != 'u' ) fail(__LINE__);
    _PASS;
}

⌨️ 快捷键说明

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