udcnv17.cpp
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C++ 代码 · 共 45 行
CPP
45 行
#include "dump.h"
struct INTER {
int i;
INTER(int in_i) { i = in_i; };
};
struct S {
int s;
S( int ){GOOD;};
operator INTER() {GOOD; return INTER(s); };
};
struct T {
T( INTER ){GOOD};
};
void foo( T ) {}
int main()
{
S s(2);
CHECK_GOOD(10);
T t1( s ); // T(s.operator INTER())
CHECK_GOOD(10+11+15);
T t2( S( 2 ) ); // T(S(2).operator INTER())
CHECK_GOOD(10+11+15+10+11+15);
T t3 = s; // T(s.operator INTER())
CHECK_GOOD(10+11+15+10+11+15+11+15);
T t4 = S( 2 ); // T(S(2).operator INTER())
CHECK_GOOD(10+11+15+10+11+15+11+15+10+11+15);
return errors != 0;
}
// MSVC++ v4.1 passes
// this test checks that src->inter->tgt via a ctor and a UDCF will be
// accepted for both direct initialization and copy initialization
// which is actually variable initialization
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?