ns27.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 47 行
C
47 行
#include "fail.h"
#ifdef __WATCOM_NAMESPACE__
namespace a {
int foo( int );
char foo( char x ) {
return x + 1;
}
double foo( double );
int bar( int x ) {
return -x;
}
};
namespace b {
using a::foo;
using a::bar;
int dummy;
template <char (*f)( char ), int (*b)(int)>
struct S {
int foo( char c ) {
return b(f(c));
}
~S() { ++dummy; }
};
template <char f( char ), int b(int)>
struct R {
int foo( char c ) {
return b(f(c));
}
~R() { ++dummy; }
};
S<foo,bar> x;
R<foo,bar> y;
};
using b::x;
using b::y;
int main() {
if( x.foo( 'a' ) != -('a'+1) ) _fail;
if( y.foo( 'b' ) != -('b'+1) ) _fail;
_PASS;
}
#else
ALWAYS_PASS
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?