[an error occurred while processing this directive]
|
память вручную.
Внимание!! Это хак и пользоваться им нежелательно!!!
т.е.
class AA
{
public:
AA(int nSize) : m_Size(nSize);
переопределить здесь же копирующий конструктор и оператор=() (а лучше вообще запретить)
private:
int m_Size;
int m_a[0]; // ну или 1, если ругаться будет
};
ну и потом использовать размещающую форму оператора new()
типа
char buf[] = new sizeof AA + nElements * sizeof int;
AA* ptr = new(buf) AA(nElements);
вот тут чуть подробнее http://community.livejournal.com/ru_programming/454922.html?mode=reply
E-mail: info@telesys.ru