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

📄 dyncast5.c

📁 gcc-you can use this code to learn something about gcc, and inquire further into linux,
💻 C
字号:
// Copyright (C) 1999 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 6 Jun 1999 <nathan@acm.org>// dynamic cast can only cast to public unambiguous basesextern "C" void abort ();struct A {virtual ~A(){} int m; };struct B {virtual ~B(){} int m; };struct C1 : A {int m;};struct C2 : A {int m;};// A is ambiguous, but private in one branchstruct D1 : B, C1, private C2 {int m;};// A is ambiguous, and public in both branchesstruct D2 : B, C1, C2 {int m;};void fn(B *bd1, B *bd2){  A *ad1;  A *ad2;    ad1 = dynamic_cast<A *>(bd1);  if(ad1) abort();  ad2 = dynamic_cast<A *>(bd2);  if(ad2) abort();}int main(){  D1 d1;  D2 d2;    fn((B *)&d1, (B *)&d2);  return 0;}

⌨️ 快捷键说明

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