dr195.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 32 行

C
32
字号
// Copyright (C) 2004 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 20 Oct 2004 <nathan@codesourcery.com>// DR 195 will allow conversions between function and object pointers// under some circumstances. It is in drafting, so we don't implement// it (yet).// This checks we warn when being pedantic.typedef void (*PF)(void);typedef void *PV;typedef int *PO;void foo (){  PF pf;  PV pv;  PO po;  /* the following two will almost definitly be ok with 195.  */  pf = reinterpret_cast <PF>(pv); // { dg-warning "casting between" "" }  pv = reinterpret_cast <PV>(pf); // { dg-warning "casting between" "" }  /* the following two might or might not be ok with 195.  */  pf = reinterpret_cast <PF>(po); // { dg-error "casting between" "" }  po = reinterpret_cast <PO>(pf); // { dg-error "casting between" "" }  /* These will never be ok, as they are implicit.  */  pv = pf; // { dg-error "invalid conversion" "" }  pf = pv; // { dg-error "invalid conversion" "" }}

⌨️ 快捷键说明

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