anonymous
anonymous

Reputation: 1968

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

Upvotes: 40

Views: 47748

Answers (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.

Upvotes: -1

Muhammad Kazim Korai
Muhammad Kazim Korai

Reputation: 21

Do following two steps:

  1. include iomanip
  2. write std::setw() instead of setw()

Compile and enjoy...

Upvotes: 2

David Heffernan
David Heffernan

Reputation: 613442

You need to include the header which declares it:

#include <iomanip>

Upvotes: 100

Related Questions