如何通过这种类型的自动功能?

Aus*_*tin 2 c++ parameter-passing auto c++11

我正在尝试将此自动函数传递给另一个函数,但显然我无法传递自动类型,因此我可以将其更改为实际类型以便传递它吗?通过谷歌搜索,我读到你可以使用模板,但我们没有在我的班级中查看它们,所以如果有的话,我宁愿找到一个更初学的方法.

std::uniform_int_distribution<int> yPosition(lowBounds, 23);    
auto randY = std::bind(yPosition, std::ref(engine));

void my_function(??? randY)
{
}
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 8

来自std::bind:

template <class F, class... Args>
/*unspecified*/ bind( F&& f, Args&&... args );
Run Code Online (Sandbox Code Playgroud)

您正在寻找的类型未指定.当然,它是一种实际类型,但它是您标准库所选择的,而不是您可以轻松拼写的内容.即使你可以,它可能是一堆乱七八糟的嵌套元模板,你不想拼出来.
谢谢,auto!

您唯一的解决方案是制作my_function模板:

template <class RandY>
void my_function(RandY &&randY) {...}
Run Code Online (Sandbox Code Playgroud)