ProgHubPH

Каким будет результат выполнения кода?

int buffer[512]; 
struct A 
{ 
    int i; 
    float f; 
    A()  { cout << "A()" << endl;} 
    ~A() { cout << "~A()" << endl; } 
 
}; 
 
int main() 
{ 
    A* p = new (buffer) A();               // 1 
    A* p2 = new (buffer+ sizeof(A)) A();   // 2 
         
    delete p2;                             // 3 
    delete p;                              // 4 
}
A()A()~A()~A()
Ошибка в строках //1, //2 (неверно указана операция new)
Ошибка в строках //3, //4 (невозможно освободить выделенную память - ошибка выполнения)
Массив buffer недоступен в операторе new