Chi*_*iel 2 c++ return-type c++14
我想知道在 C++14 中是否可以以某种方式在赋值中进行返回类型推导。<int>在return_five函数名之后输入 感觉多余。因此,换句话说,编译器可以使用赋值左侧的信息吗?
#include <iostream>
#include <string>
template<typename T>
auto return_five()
{
return static_cast<T>(5);
}
int main()
{
int five_int = return_five(); // THIS DOES NOT WORK
// int five_int = return_five<int>(); // THIS WORKS
std::cout << "Five_int = " << five_int << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
C++ 不是 VBA:赋值左侧的东西不用于推断右侧的类型。
所以编译器需要一个显式类型return_five()。您可以通过写入来通知编译器该类型return_five<int>()。