当我尝试编译代码时
istream in;
if (argc==1)
in=cin;
else
{
ifstream ifn(argv[1]);
in=ifn;
}
gcc 失败,提示 operator=
是私有(private)的。有什么方法可以根据条件将 istream
设置为不同的值吗?
最佳答案
您可以为 in
使用指针,例如:
istream *in;
ifstream ifn;
if (argc==1) {
in=&cin;
} else {
ifn.open(argv[1]);
in=&ifn;
}
关于c++ - 从 cin 或文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2407077/