出现setw(size)与setfill(char)有关的缺失问题

本文详细介绍了在C++中如何正确使用setw(size)和setfill(char)这两个函数来格式化输出内容。作者在遇到这两个函数未定义的问题后,通过添加必要的头文件并前缀以std::解决了该问题。这两个函数主要用于流输出和输入过程中设置宽度和填充字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人在编译一份C++文件时出现了缺失setw(size)和setfill(char)无定义的问题,通过查找资料,解决了这个问题,具体解决办法是在C++文档开头添加两个库文件:

#include <iostream>
#include <iomanip>

同时在后面引用时补充上std::,也就是std::setw(size)和std::setfill(char)两个。

他们一般用于流输出和输入的过程中,分别的含义是:

std::setw(size):输入\出size个字符,默认为空格,

std::setfill(char):输入\出“char”这样的字符(打双引号),例如:

//输出:    1
std::cout<<std::setw(4)<<a<<std::endl;
//输出: ***1
std::cout<<std::setw(4)<<std::setfill('*')<<a<<std::endl;

D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'void INT::normalize()': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 27 50 [错误] no matching function for call to 'INT::abs(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 366 13 [明] candidate: 'INT INT::abs() const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 366 13 [明] candidate expects 0 arguments, 1 provided D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'INT INT::operator-() const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 121 28 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 36 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'INT INT::operator/(const INT&) const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 230 30 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 36 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 231 50 [错误] call of overloaded 'INT(int)' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 108 9 [明] candidate: 'INT::INT(const string&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(const INT&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(INT&&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'INT INT::operator>>(int) const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 283 36 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 36 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 286 47 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 36 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'std::string INT::to_binary_string() const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 374 30 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 36 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 378 29 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 36 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 379 41 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 36 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In static member function 'static INT INT::from_binary_string(const string&)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 387 26 [错误] call of overloaded 'INT(int)' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 108 9 [明] candidate: 'INT::INT(const string&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(const INT&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(INT&&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'std::string INT::to_string() const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 399 30 [错误] aggregate 'std::stringstream ss' has incomplete type and cannot be defined D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In function 'INT pow(INT, INT)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 423 27 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 136 35 [明] initializing argument 1 of 'bool INT::operator<(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 423 37 [错误] conversion from 'int' to 'INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 425 30 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 152 35 [明] initializing argument 1 of 'bool INT::operator>(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In function 'INT gcd(INT, INT)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 439 21 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 36 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In function 'INT factorial(const INT&)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 452 17 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 136 35 [明] initializing argument 1 of 'bool INT::operator<(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 453 18 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 9 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 9 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 36 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'void INT::normalize()': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 27 22 [错误] no matching function for call to 'INT::abs(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 366 6 [明] candidate: 'INT INT::abs() const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 366 6 [明] candidate expects 0 arguments, 1 provided D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'INT INT::operator-() const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 121 14 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 29 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'INT INT::operator/(const INT&) const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 230 16 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 29 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 231 36 [错误] call of overloaded 'INT(int)' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 108 2 [明] candidate: 'INT::INT(const string&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(const INT&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(INT&&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'INT INT::operator>>(int) const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 283 15 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 29 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 286 26 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 29 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'std::string INT::to_binary_string() const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 374 16 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 29 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 378 15 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 29 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 379 20 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 29 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In static member function 'static INT INT::from_binary_string(const string&)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 387 12 [错误] call of overloaded 'INT(int)' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 108 2 [明] candidate: 'INT::INT(const string&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(const INT&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 13 7 [明] candidate: 'INT::INT(INT&&)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In member function 'std::string INT::to_string() const': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 399 16 [错误] aggregate 'std::stringstream ss' has incomplete type and cannot be defined D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In function 'INT pow(INT, INT)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 423 13 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 136 28 [明] initializing argument 1 of 'bool INT::operator<(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 423 23 [错误] conversion from 'int' to 'INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 425 16 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 152 28 [明] initializing argument 1 of 'bool INT::operator>(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In function 'INT gcd(INT, INT)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 439 14 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 134 29 [明] initializing argument 1 of 'bool INT::operator!=(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 0 -1 In function 'INT factorial(const INT&)': D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 452 10 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 136 28 [明] initializing argument 1 of 'bool INT::operator<(const INT&) const' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 453 11 [错误] conversion from 'int' to 'const INT' is ambiguous D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 112 2 [明] candidate: 'INT::INT(const char*)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 90 2 [明] candidate: 'INT::INT(long long int)' D:/HuaweiMoveData/Users/94197/Documents/untitled1.cpp 126 29 [明] initializing argument 1 of 'bool INT::operator==(const INT&) const' 、
07-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值