С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/38: Рейтинг темы: голосов - 38, средняя оценка - 4.87
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532

Получить значение полей структуры, записанной в void

03.05.2015, 16:54. Показов 7511. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
есть 2 структуры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct bd
{
    char name[100], autor[100], izd[100], year[4];
    int razd, isset;
    enum EN1 { bougth = 1, stolen, presented, other };
    EN1 origin;
};
struct EL
{
    void *DATA;
    EL *next;
    EL *prev;
};
EL *el = new(EL);
bd *bib = new (bd);
Я записываю bib в EL в поле DATA. Как мне потом получит значение полей? Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2015, 16:54
Ответы с готовыми решениями:

При попытке присвоить значение типа char одному из полей структуры, выводится некоректное значение
Задание Описать структуру с именем TRAIN, содержащую следующие поля: Название пункта назначения; Номер поезда; Время...

Получить типы полей структуры в массив
представьте такую структуру struct { int a; char b; float c; ... и ещё примерно таких же полей штук 300 } s; выводить их...

Получить список полей структуры и их значений
Есть структура с кучей полей. public class RealCellCoord { public int id; // cell number ...

5
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.05.2015, 16:58
C++
1
bd *extract = static_cast<bd *>(el.DATA)
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
03.05.2015, 16:59  [ТС]
hoggy, а по русски без static_cast<bd *>(el.DATA) ? Мы не проходили еще эти < >
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.05.2015, 17:07
Цитата Сообщение от SanychBY Посмотреть сообщение
а по русски без static_cast<bd *>(el.DATA) ?
пожалуйста:

http://rextester.com/NPL46748


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
25
26
27
28
29
30
31
#define преобразовать(тип, объект) \
    (тип *)объект;
 
 
#include <iostream>
 
struct bd
{
    char name[100], autor[100], izd[100], year[4];
    int razd, isset;
    enum EN1 { bougth = 1, stolen, presented, other };
    EN1 origin;
};
struct EL
{
    void *DATA;
    EL *next;
    EL *prev;
};
 
int main()
{
    std::cout << "Hello, world!\n";
    
    EL *el = new(EL);
    bd *bib = new (bd);
    
    el->DATA = bib;
 
    bd* extract = преобразовать(bd, el->DATA);
}
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
03.05.2015, 17:35  [ТС]
hoggy, да не в этом смысле по русски=)

Добавлено через 25 минут
как можно это без #define преобразовать(тип, объект) \
(тип *)объект;
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.05.2015, 17:36
Лучший ответ Сообщение было отмечено SanychBY как решение

Решение

Цитата Сообщение от SanychBY Посмотреть сообщение
как можно это без #define преобразовать(тип, объект) \
C++
1
bd *extract = (bd *)el.DATA;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2015, 17:36
Помогаю со студенческими работами здесь

Дважды вычислить значение выражения, используя функции возвращающие void и не void
Хай!Помогите решить Дважды вычислить значение выражения, используя функции возвращающие void и не void....

Как в "public void G2" получить значение string из "public void G1"
В &quot;public void G1&quot; имеется string str = &quot;123&quot;, как в &quot;public void G2&quot; получить значение string из &quot;public void G1&quot;? str - постоянно...

Как вывести значение полей структуры данных в виде красивой табличной форме
Ребята, подскажите как вывести значение полей структуры данных в виде красивой табличной форме. Может у кого нибудь есть простенький...

Из нескольких блоков HTML получить значение всех ID-полей
Есть текст такого вида: &lt;div class=&quot;item itemalt&quot; id=&quot;n123456&quot;&gt; ......................................................... ...

Взять значение из void в void
Всем &quot;зрасьте&quot; ) У меня есть прога в которой я при помощи keyPressEven() и switch{} изменяю значения клавишами, ну ок скажете вы, далее...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru