加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 成员函数中setfill的问题

发布时间:2020-12-16 10:18:43 所属栏目:百科 来源:网络整理
导读:我正在尝试在多个文件上创建一个程序来读取时间,但是我无法以所需的格式显示时间.更具体地说,setfill似乎给我带来了麻烦. 这是我在编译时收到的非常长的错误消息的开头: error: no match for ‘operator’ in ‘std::operator [with _CharT = char,_Traits
我正在尝试在多个文件上创建一个程序来读取时间,但是我无法以所需的格式显示时间.更具体地说,setfill似乎给我带来了麻烦.

这是我在编译时收到的非常长的错误消息的开头:

error: no match for ‘operator<<’ in ‘std::operator<< [with _CharT = char,_Traits = std::char_traits<char>](((std::basic_ostream<char,std::char_traits<char> >&)(& std::cout)),std::setw(2)) << std::setfill 
[with _CharT = const char*](((const char*)"0"))’

现在,只有在我的成员函数中设置了填充后,才会显示此消息.如果我删除setfill,输出没有问题,除非格式错误.

成员函数是:

Void Time::print()
{
    cout << setw (2) << setfill ("0") << hours << ":";
    cout << setw (2) << setfill ("0") << minutes << ":";
    cout << setw (2) << setfill ("0") << seconds << endl;
}

要明确的是,我已经包含了iomanip和setw自己没有问题.

谢谢.

解决方法

setfill接受一个char,它应该是’0’而不是“0”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读