gpt4 book ai didi

c++ - std::from_chars 无法在 MSVC 下编译

转载 作者:行者123 更新时间:2023-12-02 10:03:56 24 4
gpt4 key购买 nike

我有一个小函数,它使用 std::from_charsstd::string_view 创建日期对象,而它在 ubuntu 下使用 clang 或 gcc 进行编译windows下不使用msvc。

date::year_month_day parseDate(const std::string_view& s)
{
int y { 0 }, m { 0 }, d { 0 };

std::from_chars(s.begin(), s.begin() + 4, y);
std::from_chars(s.begin() + 5, s.begin() + 7, m);
std::from_chars(s.begin() + 8, s.begin() + 10, d);

return date::year { y } / m / d;
}

对于每个 std::from_chars 调用,都会在编译时显示以下错误:

'std::from_chars': none of the 14 overloads could convert all the argument types

编译器然后继续列出可能的重载,我清楚地看到我正在尝试使用的重载:

'std::from_chars_result std::from_chars(const char *const ,const char *const ,int &,const int) noexcept'

最后一个参数有默认值。有人可以解释一下我做错了什么吗?

最佳答案

另一个答案是正确的 - from_charsstring_view 不能很好地配合。

但是,对于将来发现相同问题的其他人,有一个 proposal将相关重载添加到 from_chars

可以跟踪这方面的进展 here .

关于c++ - std::from_chars 无法在 MSVC 下编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61203317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com