ns34.c

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

C
67
字号
#include "fail.h"

struct A {
};

namespace ns {
int A;

template<class T>
struct B {
    int g() {
        return 1;
    }
};

template<class T>
struct C {
    int h() {
        return 1;
    }
};
}

template<class T>
struct B {
    int g() {
        return 0;
    }
};

template<class T>
struct C {
    int h() {
        return 0;
    }
};

namespace ns {
void f() {
    struct A a;

    ::B<int> b1;
    if( b1.g() ) fail(__LINE__);

    ns::B<int> b2;
    if( ! b2.g() ) fail(__LINE__);

    ::ns::B<int> b3;
    if( ! b3.g() ) fail(__LINE__);

    ::C<int> c1;
    if( c1.h() ) fail(__LINE__);

    ns::C<int> c2;
    if( ! c2.h() ) fail(__LINE__);

    ::ns::C<int> c3;
    if( ! c3.h() ) fail(__LINE__);
}
}

int main() {
    ns::f();

    _PASS;
}

⌨️ 快捷键说明

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