diag0234.c

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

C
36
字号
template <class T>
    struct Q {
	T operator ->();  // no warn
	int q;
    };

struct S {
    void * operator ->();  // OK to warn
    int q;
};
struct DS : S {
};
struct B {};
struct T1 {
    S &operator ->();
};
struct T2 {
    DS &operator ->();
};
struct T3 {
    B &operator ->();
};
struct U;
struct W {
    U &operator ->();
};

void foo( S &r, T2 &q, W &z )
{
    Q<void *> x;
    r->q = 1; // diagnose on use not declaration (may be a template class!)
    q->q = 2;
    z->u = 3;
    x->q = 1;
}

⌨️ 快捷键说明

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