-1

这个语法好奇怪,不知道怎么理解。

不知道是什么意思,我尝试在各大搜索引擎上搜索,但是关键词毫无头绪,也没有找到结果。

请帮助我,谢谢。

auto parser::error(const std::string& msg) -> void
{
    std::cerr << msg << std::endl;
}
4

1 回答 1

2

这是 C++ 11,具有函数返回类型的自动类型推导语法。尾随部分-> void称为尾随返回类型语法

我将向您推荐 Scott Meyers 的Effective Modern C++。此语法在本书的第 3 项“了解 decltype”中有详细说明,因此只需阅读前 3 项即可使您清楚此语法。

这种特殊情况似乎不是这种语法的好用例,可以简单地写成如下

void parser::error(const std::string& msg)
{
    std::cerr << msg << std::endl;
}
于 2021-07-07T03:44:48.930 回答