Что означает -> после прототипа функции?
Что происходит в этом коде? Это так запутанно.
#include
struct check
{
template
auto foo() -> decltype(std::declval().value, void())
{
static_assert(T{}.value == 10, "Incorrect value");
}
} var;
int main()
{
struct apple
{
int value{10};
};
var.foo();
}
В частности, часть, где он имеет->
и все после этого.