Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445// Copyright (c) Microsoft. All rights reserved.// Licensed under the MIT license. See LICENSE file in the project root for// full license information.
#include <stdio.h> int c, d; struct A{ int i; A () { i = ++c; printf ("A() %d\n", i); } A (const A&) { i = ++c; printf ("A(const A&) %d\n", i); } ~A() { printf ("~A() %d\n", i); ++d; }}; intmain (){ try { try { printf ("Throwing 1...\n"); throw A(); } catch (A) { try { printf ("Throwing 2...\n"); throw; } catch (A) { printf ("Throwing 3...\n"); throw A(); } } } catch (A) { printf ("Caught.\n"); } printf ("c == %d, d == %d\n", c, d); return c != d;}