⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cast6.c

📁 gcc-you can use this code to learn something about gcc, and inquire further into linux,
💻 C
字号:
// Build don't link:// Copyright (C) 2000 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 28 Nov 2000 <nathan@codesourcery.com>// We failed to reject static_cast and implicit conversions of pointers to// member that traversed a virtual base.struct bar{  int barm;    static void a();};struct filler1 {int fm;};struct filler2 {int fm;};struct filler3 {int fm;};struct filler4 {int fm;};struct baz : filler1, bar, filler2{  int bazm;};struct foo : filler3, virtual baz, filler4{    static void a();    void b() {};    int m;};typedef void (bar::*barfPtr)();typedef void (foo::*foofPtr)();typedef int bar::*barmPtr;typedef int foo::*foomPtr;struct X;typedef void (X::*xfPtr) ();typedef int X::*xmPtr;int main (){  {    foofPtr fp = &foo::b;    barfPtr bp = static_cast <barfPtr> (fp);    // ERROR - invalid static_cast    foofPtr fp2 = static_cast <foofPtr> (bp);   // ERROR - invalid static_cast    foofPtr fp3 = bp;                           // ERROR - cannot convert    fp3 = (foofPtr)bp;                          // WARNING - via virtual base        foomPtr fmp = &foo::m;    barmPtr bmp = static_cast <barmPtr> (fmp);  // ERROR - invalid static_cast    foomPtr fmp2 = static_cast <foomPtr> (bmp); // ERROR - invalid static_cast    foomPtr fmp3 = bmp;                         // ERROR - cannot convert    fmp3 = (foomPtr)bmp;                        // WARNING - via virtual base  }    return 0;}

⌨️ 快捷键说明

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