I have a problem printing to a file, this is the main code:
Code:
//debuggin' code
for( i = 0; i < polys.size( ); i++ )
{
fileOut << "POLYGON " << i << " :" << endl;
fileOut << "Normal : " << *polys[ i ].getNormal( ) << endl; //no operator << defined??
// cout << "Normal : " << *polys[ i ].getNormal( ) << endl; //prints to screen as expected
for( int j = 0; j < polys[ i ].getCornerCount( ); j++ )
{
Vector3d temp( polys[ i ].getPoint( j ) );
// fileOut << temp << endl;
}
fileOut << endl << endl;
}
and this is the overloaded << operator:
Code:
ostream& operator << ( ostream& os, const Vector3d&a )
{
os << "( " << a.triple[ 0 ] << " , " << a.triple[ 1 ] << " , " << a.triple[ 2 ] << " )";
return os;
}
The getNormal(...) function returns a pointer which can be dereferenced and printed to the screen but not to file. Why is this?? The other commented out line "fileOut << temp << endl;" should also work in the same way but doesn't. Is it the overloaded operator or something else?