vaarg3.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 28 行

C
28
字号
// { dg-do assemble  }// Copyright (C) 1999 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 4 Oct 1999 <nathan@acm.org>// Make sure we diagnose bad uses of va_arg#include <stdarg.h>struct X {int m;};struct Y : X {int m;};struct Z;   // { dg-error "" } forward declvoid fn1(va_list args){  int i = va_arg (args, int);  Y x = va_arg (args, Y);         // { dg-warning "" } cannot receive  Y y = va_arg (args, struct Y);  // { dg-warning "" } cannot receive  int &r = va_arg (args, int &);  // { dg-warning "" } cannot receive    Z z1 = va_arg (args, Z);        // { dg-error "" } incomplete  const Z &z2 = va_arg (args, Z);       // { dg-error "" } incomplete  va_arg (args, char);    // { dg-error "" } promote  va_arg (args, int []);  // { dg-error "" } promote  va_arg (args, int ());  // { dg-error "" } promote  va_arg (args, bool);    // { dg-error "" } promote}

⌨️ 快捷键说明

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