【发布时间】:2013-11-14 07:34:38
【问题描述】:
我试图有一个函数myCout,它的参数中有一个字符串。该字符串用于设置输出的对齐方式。也就是说,如果我们有 "left" 作为参数
cout<<std::left; 应该被执行。
我在下面附上了我的代码。
ostream & myAlign (string str) {
if (str == "left")
return std ::left ;
else
return std::right ;
}
template <class T>
void myCout (int width, char fill, T var, string a) {
cout << setw(width) << setfill(fill) << setprecision(2) << myAlign(a) << std:: fixed << var << "\t" <<flush ;
return ;
}
提前感谢您的帮助
【问题讨论】:
-
您可能需要检查例如this reference of I/O manipulators,尤其是关于manipulators you use的那些。
-
@TobiasWärre Wut?我很确定你可以,因为你已经定义了
operator==,见案例(7)。 -
@TobiasWärre 不确定您从哪里获得信息,或者您如何获得支持。将
std::string与字符串文字进行比较是完全可以的。 -
@TobiasWärre:这是不正确的。
-
@luk32,看那个,我一定错过了......
标签: c++