这个链接没有回答我的问题所以我会在这里问:
基本上我想写一个模板函数
template <typename Out, typename In>
Out f(In x);
Run Code Online (Sandbox Code Playgroud)
在这里,我总是需要Out在调用时指定f.我不想每次都这样做,所以我基本上都想要
template <typename Out = In, typename In>
Out f(In x);
Run Code Online (Sandbox Code Playgroud)
这意味着如果我没有指定Out,它将默认为In.但是,这在C++ 11中是不可能的.
所以我的问题是,有没有办法达到这个效果:
f(t)将实例化f<T,T>(t)或更普遍f<typename SomeThing<T>::type, T>f<U>(t)将实例化f<U, T>(t)