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)
来自std::bind:
Run Code Online (Sandbox Code Playgroud)template <class F, class... Args> /*unspecified*/ bind( F&& f, Args&&... args );
您正在寻找的类型未指定.当然,它是一种实际类型,但它是您标准库所选择的,而不是您可以轻松拼写的内容.即使你可以,它可能是一堆乱七八糟的嵌套元模板,你不想拼出来.
谢谢,auto!
您唯一的解决方案是制作my_function模板:
template <class RandY>
void my_function(RandY &&randY) {...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
278 次 |
| 最近记录: |