N
nandor.sieben
The following program causes a segmentation fault. If I break the
print line at the end into two separate print statement then there is
no segmentation fault. What is the problem? I am compiling it on
Ubuntu Gutsy.
using namespace
std;
#include
<iostream>
#include
<sstream>
template < class T > string all2string (T in, int
i)
{
stringstream
s;
s <<
in;
string
ss;
ss = s.str
();
while (ss.length () <
i)
ss = "0" +
ss;
return
ss;
}
typedef
struct
{
int
move;
int
depth;
}
Tdata;
string
Tdata2string (const Tdata &
data)
{
string s
=
all2string (data.depth, 0) + " " + all2string (data.move, 0) + "
";
return
s;
}
ostream & operator << (ostream & os, const Tdata &
data)
{
string s = Tdata2string
(data);
os <<
s;
}
main
()
{
Tdata
dat;
dat.depth =
0;
dat.move =
-1;
cout << dat <<"data
\n";
}
print line at the end into two separate print statement then there is
no segmentation fault. What is the problem? I am compiling it on
Ubuntu Gutsy.
using namespace
std;
#include
<iostream>
#include
<sstream>
template < class T > string all2string (T in, int
i)
{
stringstream
s;
s <<
in;
string
ss;
ss = s.str
();
while (ss.length () <
i)
ss = "0" +
ss;
return
ss;
}
typedef
struct
{
int
move;
int
depth;
}
Tdata;
string
Tdata2string (const Tdata &
data)
{
string s
=
all2string (data.depth, 0) + " " + all2string (data.move, 0) + "
";
return
s;
}
ostream & operator << (ostream & os, const Tdata &
data)
{
string s = Tdata2string
(data);
os <<
s;
}
main
()
{
Tdata
dat;
dat.depth =
0;
dat.move =
-1;
cout << dat <<"data
\n";
}