0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 7
|
||||||
1 | ||||||
Указатель на функцию с передачей параметров09.06.2020, 21:51. Показов 999. Ответов 8
Метки нет (Все метки)
Есть библиотека https://github.com/evert-arias/EasyBuzzer
в которой можно вызвать коллбэк как указатель на функцию, без параметров. А мне нужно передать в нее локальные переменные в качестве параметра. Пробовал воспользоваться лямбда выражением, но захват переменных не работает, как это можно обойти?
0
|
09.06.2020, 21:51 | |
Ответы с готовыми решениями:
8
Описать функцию типа void с передачей параметров по ссылке или указателю POWERA234(A,B,C,D), вычисляющую вторую, третью Создать функцию типа void с передачей параметров по ссылке или указателю, которая определяет площадь круга по его радиус Описать функцию типа void с передачей параметров по ссылке или указателю, заменяющую в тексте все малые буквы после точк Как передать в функцию в качестве параметров указатель на файл |
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
09.06.2020, 22:03 | 2 |
2048bit, форкнуть библиотеку, добавить те возможности, которых вам не хватает.
Автор библиотеки не оставил простора для маневра, поэтому только так.
0
|
09.06.2020, 22:18 | 3 |
DrOffset, Я не понимаю, а зачем такие громкие слова? Автору нужно просто забайндить какие-то переменные вместо параметров его функции, он даже сам написал один из вариантов.
Это замечательное решение, что не так-то? автор хочет, чтобы в каждый вызов эжтой функции передовалось одно и то же слово step, так? ну вот и замечательно.
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
09.06.2020, 22:22 | 4 |
Автор юзает чужую библиотеку, которая так делать, как он предложил, не позволяет.
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
09.06.2020, 22:58 | 5 | |||||
Можно попробовать так нагвнокодить, только пока этот коллбэк зарегистрирован, не нужно менять функтор.
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
09.06.2020, 23:04 | 6 |
zayats80888, с глобальным состоянием каждый может. Только это не спортивно.
1
|
zayats80888
|
09.06.2020, 23:06
#7
|
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
09.06.2020, 23:42 | 8 |
Сообщение было отмечено 2048bit как решение
Решение
Автор библиотеки "запилил" кривой интерфейс. Для минимальной поддержки обратного вызова должен быть
void* -параметр userdata хотя бы. Это банально хороший тон. Такого параметра у автора нет. Разумным будет либо просто форкнуть библиотеку к себе в проект, благо она совсем маленькая, и исправить там. Либо закинуть pull-реквест автору, чтобы расширить функциональность. Уже с void* -параметром можно извернуться и передать адаптер лямбды или чего-то еще, не говоря уж про более прямые решения.
2
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
|
09.06.2020, 23:54 | 9 |
++
Я что-то даже не посмотрел, там один класс всего на 200 строчек кода. "Библиотека" - это громко сказано
0
|
09.06.2020, 23:54 | |
09.06.2020, 23:54 | |
Помогаю со студенческими работами здесь
9
В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) Ссылка с передачей параметров Проблема с передачей параметров Проблема с передачей параметров по GET Удаление файлов с передачей параметров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |