无法将std::string转换为日期类型
Can not convert std::string to date type
我正在使用Howard Hinnant的日期库,并试图使用下面的代码块将std::string
转换为date::year_month_day
。
#include "date.h"
#include <string>
#include <iostream>
#include <sstream>
int main()
{
std::string d = "2016-11-23";
std::istringstream in{d};
date::sys_days sd;
date::parse(in, "%F", sd);
date::year_month_day ymd = sd;
std::cout << ymd << 'n';
}
接收到太多关于‘const class std::time_get<char>’ has no member named ‘get
的错误投诉
In file included from convert_string_to_date.cpp:1:0:
date.h: In instantiation of ‘void date::detail::parse(std::basic_istream<_CharT, _Traits>&, const std::basic_string<CharT, Traits>&, date::local_time<Duration>&, std::basic_string<CharT, Traits>*, std::chrono::minutes*) [with CharT = char; Traits = std::char_traits<char>; Duration = std::chrono::duration<int, std::ratio<86400l, 1l> >; date::local_time<Duration> = std::chrono::time_point<date::local_t, std::chrono::duration<int, std::ratio<86400l, 1l> > >; std::chrono::minutes = std::chrono::duration<long int, std::ratio<60l> >]’:
date.h:4371:90: required from ‘void date::detail::parse(std::basic_istream<_CharT, _Traits>&, const std::basic_string<CharT, Traits>&, date::local_time<Duration>&, std::chrono::minutes*) [with CharT = char; Traits = std::char_traits<char>; Duration = std::chrono::duration<int, std::ratio<86400l, 1l> >; date::local_time<Duration> = std::chrono::time_point<date::local_t, std::chrono::duration<int, std::ratio<86400l, 1l> > >; std::chrono::minutes = std::chrono::duration<long int, std::ratio<60l> >]’
date.h:4447:42: required from ‘void date::parse(std::basic_istream<_CharT, _Traits>&, const std::basic_string<CharT, Traits>&, date::sys_time<Duration>&) [with CharT = char; Traits = std::char_traits<char>; Duration = std::chrono::duration<int, std::ratio<86400l, 1l> >; date::sys_time<Duration> = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<int, std::ratio<86400l, 1l> > >]’
date.h:4649:59: required from ‘void date::parse(std::basic_istream<_CharT, _Traits>&, const CharT*, date::sys_time<Duration>&) [with CharT = char; Traits = std::char_traits<char>; Duration = std::chrono::duration<int, std::ratio<86400l, 1l> >; date::sys_time<Duration> = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<int, std::ratio<86400l, 1l> > >]’
convert_string_to_date.cpp:12:27: required from here
date.h:4192:21: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, b, i-1);
^
date.h:4197:25: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, ymd, ymd+8);
^
date.h:4211:21: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, b, i-1);
^
date.h:4221:25: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, hm, hm+6);
^
date.h:4266:25: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, hm, hm+2);
^
date.h:4275:21: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, b, i-1-modified);
^
date.h:4322:21: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, b, i-1);
^
date.h:4343:17: error: ‘const class std::time_get<char>’ has no member named ‘get’
f.get(is, 0, is, err, &tm, b, e);
gcc 4.9
不具有date.h
所需的完整的time_get
支持。
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 大量序列中核苷酸类型的快速计数
- 如何从C++中的依赖类型中获得它所依赖的类型
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 是否可以初始化不可复制类型的成员变量(或基类)
- 如何获取std::result_of函数的返回类型
- 从父命名空间重载类型
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 查询SQLite数据库中的日期
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 访问者访问变体并返回不同类型时出错
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- C#日期类型转换与C 相同
- "日期":'class'类型重新定义:错误(日历.cpp文件错误)
- C++日期类型类.编译后,某些功能运行良好,但其他功能则不然
- 无法将std::string转换为日期类型
- 适当的函数返回类型返回日期时间
- 使用复合日期类型调用约定