新微赢技术网

标题: [求助]如何使用I/O控制符? [打印本页]

作者: 绝不放弃    时间: 2009-11-3 03:00
标题: [求助]如何使用I/O控制符?
//GaloisFieldMatrix.h
...
#include <iomanip>
namespace galois
{
....

}

//GaloisFieldMatrix.cpp
namespace galois
{
...
std::ostream& operator<< (std::ostream& os, const GaloisFieldMatrix& A) //重载输出运算符<<
{
size_t Arow = A.GetRow();
size_t Acol = A.GetCol();
for(int i = 0 ; i < Arow ; i++)
{
for(int j = 0 ; j < Acol ; j++)
os<<setiosflags(iso_base::left) //
<<setw(5) //这两行为啥不对?
<<A.M[i][j].poly()
<<" ";
os<<"\n";
}
return os;
}

.....

}



下面是错误信息:
g:\c++\复件 (7) 测试二z\galoisfieldmatrix.cpp(348) : error C2065: 'setiosflags' : undeclared identifier
g:\c++\复件 (7) 测试二z\galoisfieldmatrix.cpp(348) : error C2653: 'iso_base' : is not a class or namespace name
g:\c++\复件 (7) 测试二z\galoisfieldmatrix.cpp(348) : error C2065: 'left' : undeclared identifier
g:\c++\复件 (7) 测试二z\galoisfieldmatrix.cpp(349) : error C2065: 'setw' : undeclared identifier
作者: 守护天使    时间: 2009-11-3 03:00
namespace galois
{
...
std::ostream& operator<< (std::ostream& os, const GaloisFieldMatrix& A) //重载输出运算符<<
{
size_t Arow = A.GetRow();
size_t Acol = A.GetCol();
for(int i = 0 ; i < Arow ; i++)
{
for(int j = 0 ; j < Acol ; j++)
os<<setiosflags(iso_base::left) //
<<setw(5) //这两行为啥不对?
<<A.M[i][j].poly()
<<" ";
os<<"\n";
}



必须改一下:
os<<std::setiosflags(std::ios_base::left)
<<std::setw(5)
作者: 导演    时间: 2009-11-3 03:00
我知道了,多谢!




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2