在C ++中的函数参数中使用任何类型

我正在尝试找到一种方法来将此功能转换为更通用的功能。

  void addStage(Image (f)(Image));

我想要得到的东西可以接收带有或不带有参数的不同类型的函数,是否无效。

我已经尝试过类似的方法,但是它当然不起作用。

void addStage(auto (f)(auto));

为了提供更多的上下文,我将说此功能将是管道中的各个阶段。