elision_neg.c

来自「用于进行gcc测试」· C语言 代码 · 共 45 行

C
45
字号
// I, Howard Hinnant, hereby place this code in the public domain.// Test: Implicit cast to rvalue when eliding copy// { dg-do compile }// { dg-options "-std=c++0x" }template <bool> struct sa;template <> struct sa<true> {};struct one   {char x[1];};struct two   {char x[2];};class move_only{    move_only(const move_only&); // { dg-error "is private" }    move_only& operator=(const move_only&);public:    move_only() {}    move_only(move_only&&) {}    move_only& operator=(move_only&&) {return *this;}};move_onlytest1(){    static move_only x;    return x;  //  { dg-error "within this context" }}move_onlytest2(move_only&& x){    return x;  //  { dg-error "within this context" }}int main(){    move_only t1 = test1();    move_only t2 = test2(move_only());    return 0;}bool b = true;

⌨️ 快捷键说明

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