blob: 0c5e68abb47cdf3190607e5d3dc998022bcf88e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// PRMS Id: 5341
// Bug: g++ complains about the explicit destructor notation.
// Build don't link:
#include <stddef.h>
void *operator new(size_t Size, void* pThing) { return pThing; };
template <class T> class Stack {
public:
Stack() { new (Data) T(); }
~Stack() { ((T*)Data)->~T(); }
private:
char Data[sizeof(T)];
};
Stack<int> a;
Stack<Stack<int> > c;
|