tc22.c

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

C
31
字号
// Borland and MetaWare create a file-scope class T friend!
// CFRONT changes template-arg T! (this is after we remove the
// use of 'T' as a base class (3.0.2 didn't implement it!))
struct U {
    int u;
    static void foo();
};

template <class T>
    struct S : T {
	friend class T;
	S<T> *n;
    private:
	int a;
    }
    ;

S<U> ZZ;

void U::foo()
{
    ZZ.a = 1;			// should work
}

struct T {
    static void foo()
    {
	ZZ.a = 1;		// should fail
    }
};

⌨️ 快捷键说明

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