我有一个成员函数定义为:
void printSomeData(std::ostream& str) const;
当我尝试以这种方式从另一个类中调用该成员时:
myclass.printSomeData(std::ofstream("foo.txt"));
我收到以下错误:
错误:没有匹配函数调用'myclass::printSomeData(std::ofstream)'</p>
注意:没有已知的参数 1 从 'std::ofstream {aka std::basic_ofstream}' 到 'std::ostream& {aka std::basic_ostream&}' 的转换</p>
但是,如果我首先调用函数来实例化 ofstream,如下所示,我不会收到任何错误,我不太明白:
std::ofstream foo("foo.txt");
myclass.printSomeData(foo);
任何人都可以给我一个线索?
谢谢