Форум программистов, компьютерный форум CyberForum.ru

Как создать объект в новой куче? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано целое число и найти его сумму http://www.cyberforum.ru/cpp-beginners/thread766153.html
Дано целое число N(>0).Hайти сумму N*2+(N+1)*2+(N+2)*2+...+(N*2)*2 Небольшая заготовка #include <vcl.h> #include <conio.h> #include <iostream.h> int main() { int N;
C++ вывести на печать случайный массив или матрицу как вывести на печать случайный массив или матрицу на Visual Studio? тоесть как сгенерировать массив/матрицу? http://www.cyberforum.ru/cpp-beginners/thread766148.html
Массив символов char и указатели C++
В общем нужно сохранить путь к диску в переменную, что бы потом использовать в _findfirst Но сколько бы я не бился над этим, ничего не выходит... Это криво код, не работает... #include <io.h> #include <iostream> using namespace std; void main (void) {
Определить инвариант в цикле C++
Программа проверяет является ли число простым. Подскажите как составить инвариант для этой программы. Не понимаю как это делается вообще. #include <stdio.h> #include <math.h> int main( ) { int i,k; int a; scanf("%d", &k);
C++ error C2912: явная специализация; не является специализацией функции-шаблона http://www.cyberforum.ru/cpp-beginners/thread766131.html
Как исправить ошибку? #include <iostream> using namespace std; template <typename t> void PrintArray(t *arr, const int size) { for (int i=0; i<=size-1; i++) cout << arr << " ";
C++ Подсчет гласных букв Написать програму которая считает сколько в веденой пользователем строке гласнихбукв и четных цыфр! С++ подробнее

Показать сообщение отдельно
IvanPryamoy
247 / 1 / 1
Регистрация: 02.01.2013
Сообщений: 31

Как создать объект в новой куче? - C++

19.01.2013, 13:13. Просмотров 1085. Ответов 29
Метки (Все метки)

VisualStudio 2012, Win7x64Prof.

Пробую выделить память в куче, а потом с помощью формы "Placement new" разместить в ней объект.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MyClass
{
public:
    int x;
 
    MyClass()
    {
        x=0;
    }
 
    ~MyClass()
    {
        x=1;
    }
};
 
void MyFunc(const HANDLE hHeap)
{
//выделяем память, все ок
MyClass* placementMemory = (MyClass*) HeapAlloc(hHeap, HEAP_GENERATE_EXCEPTIONS | HEAP_NO_SERIALIZE | HEAP_ZERO_MEMORY, sizeof(MyClass));
 
//пробуем разместить в этой памяти новый объект, ошибка!
MyClass* cl = new (placementMemory) MyClass();
}
Последняя строчка содержит две ошибки (подчеркивания красной линией): при наведении мышью на "placementMemory" всплывает подсказка: "Error: требуется спецификатор типа", а при наведении на "MyClass"- "Error: требуется точка с запятой ";"";

Как осилить гидру?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru