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

Преобразования типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ true db grid - CRUSH!!! Почему? http://www.cyberforum.ru/cpp-beginners/thread480501.html
Вообщем достал True db grid 8.0, кинул его на форму, и DropDown Grid иже с ним. При попытке открытия диалога свойств этого самого DropDown Grid-а VC++ 6.0 умирает с надгробной надписью 'Memory access violation'. Это происходит всякий раз, если в свойстве Mode этого DropDown-а стоит Bound, в других режимах полёт нормальный. Ладно отказался от DropDown в пользу Built-in Combo box-а. Вот кусок кода...
C++ Что значит delete this; в коде? Вот видел такой код: void Foo::Func() { ... // какой-то код delete this; } это как такое возможно. что вообще это обозначает. сами себя удаляем. а как же дальше выполняться??? http://www.cyberforum.ru/cpp-beginners/thread480450.html
Как сохранить форматированный текст из RichEdit в БД? C++
Помогите кто может! Как сохранить форматированный текст, введенный в RichEdit в БД? Нужно, чтобы происходило сие как реакция на событие (напр. клик по кнопке). Пробовал сохранять свойство Text, теряется форматирование. Спасибо.
Исходники на VC++ для ввода с видиокамеры C++
ПОМОГИТЕ!!!! найти исх.коды на VC++ для ввода изображений с видиокамеры. В MFC не предусмотрена эта возможность. Помогите пожалуйста.:|
C++ boombastiku. Как вытянуть альтернативные номера из адресной книги? http://www.cyberforum.ru/cpp-beginners/thread480312.html
Функцией RasGetEntryProperties(...) получилось достать только основной номер, и то если он там только один. Когда добавляю еще один номер, то ругается на размер ERROR_BUFFER_TOO_SMALL. В MSDN написано, что для того чтобы узнать нужный размер, нужно вызвать это-же ф-ю, но с RASENTRY = NULL и lpdwEntryInfoSize установить в ноль, тогда ф-я возвращает требуемый буферный размер в lpdwEntryInfoSize....
C++ Бьерн Страуструп "Язык программирования С++" У меня есть книга Бьерна Страуструпа (создателя С++) 'Язык программирования С++' 3-е издание. 991с. Как новая. Но мне она не нужна. Кто живет в Москве - пишите. Отдам за 200р. energi@online.ru Модератору: это не совсем реклама, пожалуйста, не удаляйте мое сообщение. подробнее

Показать сообщение отдельно
Sergio66
Сообщений: n/a
16.11.2009, 22:24     Преобразования типов
Я читаю блок данных из внешнего устройства. Внешних устройств может быть n типов. Все они отличаются размерами блоков данных и размещением переменных в них. Но, каждый из них имеет в своем составе несколько переменных с одинаковым именем, типом и смыслом. Расположены, правда они с разными смещениями относительно начала блока. Я описал n структур, которые являются как бы масками. Создал объединение со входным массивом. теперь стоит задача, определив тип внешнего устройства, выбрать нужную структуру-маску.
Т.е. я хочу, чтобы код выглядел примерно так:

union
{
char array[100];
struct1 S1;
struct2 S2;
.
.
.
structn Sn;
}U;

struct1 *pointer;
...

switch (condition)
{
case(1) {pointer = (struct1)pointer;} break;
case(2) {pointer = (struct2)pointer;} break;
.
.
.
case(n) {pointer = (structn)pointer;} break;
}

x = pointer->var;

т.о. всякий раз pointer принимает тип нужной структуры, т.е. на массив данных мы накладываем всякий раз нужный нам шаблон. Т.к. обращений к переменным структуры много, то такой подход оправдан с точки зрения эффективности кода. Однако, С не разрешает такие преобразования типа.
Вот я и ищу обходный маневр.

P.S.
Опущенные части идентификатороы связаны не с незнанием С, а с нежеланием писать лишнее.
 
Текущее время: 10:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru