0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 1
|
||||||
1 | ||||||
Приведение void* к типу указателя на структуру26.04.2013, 08:42. Показов 2680. Ответов 4
Метки нет (Все метки)
Тема обсуждалась здесь, но решения так и нет нормального
Есть два (и более, хоть до 20) линейных списков и функция обхода списка В функцию передаю указатель на вершину одного из списков Есть ли способ привести указатель к нужному типу или какой-нибудь другой способ без повтора кода?
0
|
26.04.2013, 08:42 | |
Ответы с готовыми решениями:
4
Приведение void* указателя к типу Приведение указателя на void к другому типу? Приведение void указателя к определенному типу с сохранением результата Преобразование указателя void к указателю на структуру |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
26.04.2013, 09:38 | 2 |
Shr3dder, Есть. Просто взять и привести. Но при этом нужно знать, какой именно тип используется.
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,417
|
|
26.04.2013, 09:53 | 3 |
создать базовый класс с чистым виртуальным методом step и полем link с типом "указатель на объект базового класса".
создать производные классы str1 и str2 реализующие метод step. в функцию steper передавать указатель на базовый класс. если нужен доступ к методам производного класса предусмотреть в базовом классе чистый виртуальный метод type_id. определить перечисление со всеми возможными type_id. в производных классах реализовать метод type_id в виде возврата константного значения определенного в перечислении. при необходимости приведения проверять type_id и приводит к соответствующему типу.
1
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
26.04.2013, 09:53 | 4 |
2Shr3dder Вы даже не прочитали тему на которую привели ссылку. Там совсем другая задача.
Именно в Вашем случае Вы не правильно описали список. Вам не должны быть известны данные и тип данных, а вершина списка - должна. Хотя даже с вашим кодом, можно использовать как минимум шаблоны, а как максимум шаблоны и наследование.
0
|
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 1
|
|
26.04.2013, 13:16 | 5 |
vxg, спасибо, получилось
0
|
26.04.2013, 13:16 | |
26.04.2013, 13:16 | |
Помогаю со студенческими работами здесь
5
Приведение указателя на структуру к указателю на массив char Приведение к void Приведение к void Приведение к типу Приведение к типу Приведение к типу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как программировать под HCL Notes и создавать свои продукты на ее основе
InfoMaster 11.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой мощную платформу для разработки корпоративных приложений, которая сочетает в себе функции электронной почты, календаря,. . .
|
Как работать с SVN (Subversion)
InfoMaster 11.01.2025
Введение
Система контроля версий является неотъемлемой частью современного процесса разработки программного обеспечения. Она обеспечивает управление изменениями в коде, позволяет отслеживать. . .
|
Использование GraphQL в JavaScript
InfoMaster 11.01.2025
Введение в GraphQL и его преимущества
В современной разработке веб-приложений эффективный обмен данными между клиентом и сервером играет ключевую роль. GraphQL представляет собой язык запросов и. . .
|
Администрирование Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием
Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
|
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
|
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows
Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
|
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
|
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
|
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
|
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
|
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
|
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|