c – 为什么分配给std :: ostream的引用无法编译?

前端之家收集整理的这篇文章主要介绍了c – 为什么分配给std :: ostream的引用无法编译?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用抽象类std :: ostream.有以下参考:
std::ostream &o = std::cout;

如果满足任何条件,我需要初始化o,以便将输出重定向到std :: cout.如果没有,输出将被重定向到该文件

if (!condition)
    o = file; //Not possible

如何正确编写代码

解决方法

你不能重新引用参考.

这是一个选择:

std::ostream &o = (!condition) ? file : std::cout;

猜你在找的C&C++相关文章