不,这是不可能的。你不能声明一个函数返回一个匿名struct
,因为在函数声明中你无法定义这个struct
。
因此,你需要为此新struct
命名,或者使用一个已存在的、在这个场景下似乎合适的名称,比如file
:
auto read_historic_file_dates(file F) -> file {
return { F.min, F.max };
}
然而,在给出的上下文中,直接将file
用于返回类型可能不合适,因为它已经代表了一个具有不同成员(min
和max
)的结构体。为了正确解决问题,你应该创建一个新的命名结构体或使用std::pair<int, int>
、std::tuple<int, int>
等标准库容器作为返回类型,正如之前提到的那样。如果确实需要一个新结构体,正确的做法是这样的:
struct DateRange {
int min;
int max;
};
auto read_historic_file_dates(file F) -> DateRange {
return { F.min, F.max };
}
```