1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <utility> struct A { struct Gold {}; }; struct B : public A { typedef Gold BaseGold; struct Gold {}; }; struct C : public B { typedef Gold BaseGold; struct Gold {}; }; static_assert(std::is_same<B::BaseGold, A::Gold>::value, "Not the right treasure!"); static_assert(std::is_same<C::BaseGold, B::Gold>::value, "Not the right treasure!"); |
I2luY2x1ZGUgPHV0aWxpdHk+CgpzdHJ1Y3QgQQp7CiAgc3RydWN0IEdvbGQge307Cn07CgpzdHJ1Y3QgQiA6IHB1YmxpYyBBCnsKICB0eXBlZGVmIEdvbGQgQmFzZUdvbGQ7CiAgc3RydWN0IEdvbGQge307Cn07CgpzdHJ1Y3QgQyA6IHB1YmxpYyBCCnsKICB0eXBlZGVmIEdvbGQgQmFzZUdvbGQ7CiAgc3RydWN0IEdvbGQge307Cn07CgpzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc2FtZTxCOjpCYXNlR29sZCwgQTo6R29sZD46OnZhbHVlLCAiTm90IHRoZSByaWdodCB0cmVhc3VyZSEiKTsKc3RhdGljX2Fzc2VydChzdGQ6OmlzX3NhbWU8Qzo6QmFzZUdvbGQsIEI6OkdvbGQ+Ojp2YWx1ZSwgIk5vdCB0aGUgcmlnaHQgdHJlYXN1cmUhIik7Cg==
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status
-
result: Compilation error (maybe you wish to see an example for C++11)


