Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
10th
Ноя
Можно ли как-то без непосредственного явного указания функции сделать указатель на функцию?
Posted by Chas under c/c++
Проблема вот в чем: хочу сделать класс, отвечающий за процессы (функции) в программе. В классе есть динамический массив указателей на функции, выполняющих процессы. Но по идее каждая функция может принимает определенные аргументы, отличные от других. Как можно это реализовать?
An1ka
Так можно для всех функций сделать один параметр — указатель void*. А этот указатель будет указывать на массив параметров или на структуру:
void sumf( void* p)
{
float *f = static_cast< float*>( p);
f[2] = f[0] + f[1];
}
...
float arg[3] = { 3, 5, 0};
sumf( arg); // вызываем функцию
Можно так же делать указатели на методы класса. И эти методы сделать более общие, а так как это внутренние методы, то они будут иметь доступ к полям класса, где собственно вся информация и хранится, и не нужно будет эту информацию в качестве параметров передавать в функцию.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)