'Error message: "setw is not defined" using g++
I am trying to compile using gcc a project which earlier used SunStudio and am getting an error in the following code:
ostream & operator << ( ostream & os, const UtlDuration & d )
{
if ( d._nsec == 0 )
{
os << d._sec << " sec";
return os;
}
else
{
cout.fill( '0' );
os << d._sec << "." << std::setw(9) << d._nsec << " sec";
cout.fill( ' ' );
return os;
}
}
Error: “setw” is not a member of “std”
I am not able to resolve this error can someone please explain me reason behind this error
Solution 1:[1]
You need to include the header which declares it:
#include <iomanip>
Solution 2:[2]
Do following two steps:
- include iomanip
- write std::setw() instead of setw()
Compile and enjoy...
Solution 3:[3]
setw(num) is not defined in iostream library. So add-
#include <iomanip>
in the code and add
using namespace std
it worked for me.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | David Heffernan |
| Solution 2 | Muhammad Kazim Korai |
| Solution 3 | Eric Aya |
