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

Таинственный тип void - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Затирание изображения. http://www.cyberforum.ru/cpp-beginners/thread322433.html
Программа выводит текст из файла в графическом режиме,и осуществляет скроллинг при помощи клавиш WASD,подскажите как осуществить затирание предыдущей позиции строк,чтобы при перемещении строк предыдущие их позиции стирались с экрана. До http://s005.***********/i211/1106/be/5c8431980898t.jpg После http://s002.***********/i200/1106/d8/dabac5bd2782t.jpg #include <conio.h> #include <stdio.h>...
C++ Создание игры и софта Скажите пожалуйста какие книги можете порекомендовать на с++ я хочу написать игру в шахматы для виндоус но не знаю с чего начать код то я писать начал а как реализовать к примеру доску фигурки кнопки я не знаю сказали mvs 2010 поможет, но на нем я и обучаюсь прошел только до оператора switch тоже самое касается софта я имею ввиду визуальное оформление программ. Всем спасибо заранее. http://www.cyberforum.ru/cpp-beginners/thread322419.html
C++ Сумма и разность чисел, представленных в виде bitset
Доброго времени суток. Реализую блочный алгоритм шифрования, в котором необходимо наличие операций сложения и вычитания чисел разрядностью 16 бит, а так же взятие по модулю 2^16 от суммы/разности. Бьюсь дня 4, постоянно ошибка с разностью. Надеюсь, кто-нибудь подскажет - в чём проблема. #define SIZE_ 32 #define SIZE_BLOCK_BIT 16 bitset<SIZE_> summa(bitset<SIZE_> A, bitset<SIZE_> B) {...
C++ ошибка в шифровании
Пытаюсь сделать шифрование через SLL, проблема в том, что если задавать строку для шифрования большую, то строка обрезается (маленькие строки нормально работают). Помогите разобраться что и где я ошибся Encrypt и Decrypt всяты с доки по openssl myEncrypt и myDecrypt - это мои функии, в качестве параметра string и выводят string. #include <stdio.h> #include <math.h> #include <errno.h>...
C++ Экспоненциальная функция http://www.cyberforum.ru/cpp-beginners/thread322413.html
Добрый день, необходимо запрограммировать функцию 1-exp(-at) Основной вопрос как описать экспоненту ? Простенькие задачки без экспоненты разобрался как сделать, а вот когда добавляю exp в формулу программа не понимает.
C++ не могу разобраться с typedef помогите разобраться typedef задает синоним типа только? например: typedef int myint; тут понятно все, вместо int можно писать myint а если написать подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
19.06.2011, 12:31     Таинственный тип void
Ничего здесь нет правильного тип void* это не типизированная куча байтов, в твоём примере ты выделил только три байта и причём тут массив ты записываешь в некуда, вот и при удаление может возникнуть ошибка, для этого нужно делать так, метод delete он основываеться на принятие типа void* - адреса памяти для удаления, вот правильный способ применение твоей задачи:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void**  mas = new void*[3];
mas[0] = new int(17);
mas[1] = new char('q');
mas[2] = new bool(true);
 
cout << *(int*) mas[0] << endl;
cout << *(char*) mas[1] << endl;
cout << *(bool*) mas[2] << endl;
 
for(int i = 0; i < 3; i++) 
    delete mas[i];
delete[] mas;
mas = NULL;
Ничего тут тайнственного нету в этом типе, наоборот универсальный тип, пока в С++ не стали использовать шаблоны template<typename>, единственным решением в С для передачи разных типов использовать void*
 
Текущее время: 15:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru