尾随返回类型语法应该是所有函数的默认语法吗?

fre*_*low 5 c++ return-type function-declaration auto c++11

可能重复:
替代函数语法

在复杂的函数模板中,有时需要使用C++ 11尾随返回类型语法才能使用decltypeon参数,否则这些参数会进入范围太晚:

template<typename T, typename U>
auto add(const T& a, const U& b) -> decltype(a + b)
{
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

从现在开始总是使用这种新语法,即使对于普通函数,也不会更加一致吗?

auto main() -> int;
Run Code Online (Sandbox Code Playgroud)

然后我们只需要在现代代码中处理一个函数语法而不是两个函数语法,我们可以弃用旧语法,就像我们不推荐使用隐式int或隐式使用声明一样.

为了使新语法更具吸引力,我们可以auto用更好的名称替换:

#define def auto
Run Code Online (Sandbox Code Playgroud)

突然间,签名main看起来对功能程序员非常有吸引力:

def main() -> int;
Run Code Online (Sandbox Code Playgroud)

我忽略了什么吗?尾部返回类型语法是否在某种程度上低于我没有想到的?