Я пытаюсь написать функцию (мы будем называть ее функцией A), которая может принимать определяемую пользователем функцию как вход (например, пользовательская функция, которая принимает любое число переменных и возвращает целое число. Назовем эту функцию B). Я хочу передать функцию B в качестве параметра для функции A, только модифицировать некоторые из переменных в функции B и вызывать функцию B столько раз, сколько мне нужно из функции A.C++ передаёт определенную пользователем функцию другой функции
Я думал, что смогу это сделать работайте, производя переменные указателей функции B и изменяя указатели при каждом вызове, однако я не знаю, как это сделать, поэтому я могу вызывать функцию B из функции A, если число переменных, передаваемых функции B, неизвестно ,
Есть ли у кого-нибудь какие-либо предложения относительно того, как я могу передать указанную пользователем функцию в качестве параметра другой функции?
Короткий ответ: вы не можете. Когда вы вызываете B, вы должны передать * some * количество параметров. Изменение этого требует изменения исходного кода, что означает повторную компиляцию. Если вам действительно нужно переменное количество параметров, вам, вероятно, нужно написать B, чтобы принять что-то вроде вектора параметров. Если типы могут меняться, это может быть что-то вроде 'std :: vector'. –