Здравствуйте, Jack128, Вы писали:
J>Здравствуйте, Аноним, Вы писали:
J>#include <memory> ?
#include <memory> — лечит спсб! Именно он не <new> . Вообще вроде как встроенная вещь, так вдруг может и #include <continue> для continue понадобиться
взяли пример
http://www.sourcetricks.com/2008/05/c-placement-new.html и к общему привел — CS ошибка ( без <memory> ), MyClass проходит

— одни и теж коды
//#include <memory>
class CS
{ public:
char *data;
/*
CS()
{
};
*/
};
int main0000(int argc, char *argv[])
{
// void *z;
int z[16];
CS *x=new(z) CS(); // ТОЛЬКО ЗДЕСЬ ОШИБКА
return 0;
}
#include <iostream>
using namespace std;
class MyClass {
public:
// Placement new operator
/*
void* operator new (size_t sz, void* v) {
cout << "Placement new invoked" << endl;
return v;
}
*/
~MyClass() {
// Cleanup
}
};
int main()
{
// Create a buffer to store the object
int buffer[16];
cout << "Starting address of my buffer = " << &buffer << endl;
// Create the object. Use placement new
MyClass* obj = new (buffer) MyClass();
cout << "Location of my object = " << obj << endl;
// Don't delete object created with placement delete
// Call the destructor explicitly
obj->~MyClass();
}
Здесь
http://www.cplusplus.com/reference/new/operator%20new/ new описан как глобальный ( не член класса ), тоже с 2-мя параметрами, который компилятор предлагает, значит видит?