Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Izual
Нарушитель
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
#1

Динамический массив типа void - C++

20.04.2016, 09:37. Просмотров 341. Ответов 3
Метки нет (Все метки)

Объявлен двумерный массив в глобальных:
C++
1
void **buf;
Размер как и тип определяются в рантайме..
Нужно чтоб это заработало:
C++
1
2
3
4
5
buf = new DWORD* [gVset[2]];
for(int i=0;i<gVset[2];i++)
{
    buf[i] = new DWORD [gVset[3]];
}
Ну и это тоже:
C++
1
2
3
4
5
buf = new WORD* [gVset[2]];
for(int i=0;i<gVset[2];i++)
{
    buf[i] = new WORD [gVset[3]];
}
Но оно пишет ошибку:
cannot convert from 'DWORD **' to 'void **'
и соответственно тоже: Но оно пишет ошибку:
cannot convert from 'WORD **' to 'void **'
Как правильно "закастить явно" тип? (типа через скобку, а не через <any_cast>)

П.С. удаление через delete[] правильно сработает с таким двумерным массивом? Предположительно напишу как обычно:
C++
1
2
3
4
5
for(int i=0;i<gVset[2];i++)
{
    delete[] buf[i];
}
delete[] buf;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2016, 09:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив типа void (C++):

Динамический массив элементов произвольного типа - C++
Доброго времени суток. Будьте так добры, если вас не затруднит, помочь &quot;понимающему дубу&quot; с одной назойливой программкой. С...

Динамический массив из n чисел типа int. - C++
БИЛЕТ №22 3. Напишите программу, которая выполняет следующие действия: 1) определяет динамический массив из n чисел типа int; 2)...

Динамический массив из элементов структурного типа - C++
Сформируйте и выведите на печать динамический массив из элементов структурного типа. Выполните поиск элементов в массиве, удовлетворяющих...

Создать динамический массив целого типа - C++
Создать динамический массив целого типа на 100 элементов

двумерный динамический массив типа char - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;windows.h&gt; using namespace std; void RussianMessage(const char *str) { ...

Динамический массив из элементов структурного типа - C++
Помогите пожалуйста выполнить следующее задание: 1.Сформировать динамический массив из элементов структурного типа. стуктура : ...

3
Izual
Нарушитель
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
20.04.2016, 10:36  [ТС] #2
Скомпилилось так:
C++
1
2
3
4
5
buf = new WORD* [gVset[2]];
for(int i=0;i<gVset[2];i++)
{
    buf[i] =(void**) new WORD [gVset[3]];
}
Но это только лишь "скомпилилось", работоспособность проверить не могу, другие ошибки вылезли пока параллельно другое пилил.
0
Croessmah
Пришел
Эксперт CЭксперт С++
13761 / 7842 / 893
Регистрация: 27.09.2012
Сообщений: 19,254
Записей в блоге: 3
Завершенные тесты: 1
20.04.2016, 11:42 #3
Цитата Сообщение от Izual Посмотреть сообщение
удаление через delete[] правильно сработает с таким двумерным массивом?
Если там будут не POD типы, то неправильно.

Что касается преобразований, то вот: Неявное приведение указателей на классы
0
Izual
Нарушитель
14 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,564
20.04.2016, 12:14  [ТС] #4
Не туда поставил приведение типа))
C++
1
2
3
4
5
buf = (void**) new WORD* [gVset[2]];
for(int i=0;i<gVset[2];i++)
{
    buf[i] = new WORD [gVset[3]];
}
Цитата Сообщение от Croessmah Посмотреть сообщение
Что касается преобразований, то вот: Неявное приведение указателей на классы
Ну у меня тоже компилится, но работа оператора может и не фига не правильной быть. А с условием что ты написал, что и delete[] не правильно сработает, то скорее всего и new[] тоже в таком случае.
0
20.04.2016, 12:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2016, 12:14
Привет! Вот еще темы с ответами:

Трехмерный динамический массив типа char - C++
Здравствуйте! Я хочу создать двухмерную матрицу, каждым элементом которой должна являться символьная строка длиной 20. По сути получается...

Сформировать динамический массив из элементов структурного типа - C++
struct student { char*name; int kurs; float rating };

Сформировать динамический массив из элементов структурного типа - C++
1.Сформировать динамический массив из элементов структурного типа. struct реrson { char*name; char *adres; int age; }; ...

Создать динамический массив объектов пользовательского типа - C++
Есть класс class address { } Нужно создать динамический массив объектов. Записи создаются по одной (адреса), их общее число не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru