Trailing return type
suggest changeVersions
[{“Name”:“C++11”,“GroupName”:null},{“Name”:“C++14”,“GroupName”:null},{“Name”:“C++17”,“GroupName”:null}]
Syntax
- function_name ( [function_args] ) [function_attributes] [function_qualifiers]
->
trailing-return-type [requires_clause]
Remarks
The above syntax shows a full function declaration using a trailing type, where square brackets indicate an optional part of the function declaration (like the argument list if a no-arg function).
Additionally, the syntax of the trailing return type prohibits defining a class, union, or enum type inside a trailing return type (note that this is not allowed in a leading return type either). Other than that, types can be spelled the same way after the ->
as they would be elsewhere.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents