【发布时间】:2012-08-21 11:51:36
【问题描述】:
我有一个成员函数定义为:
void printSomeData(std::ostream& str) const;
当我尝试以这种方式从另一个类中调用该成员时:
myclass.printSomeData(std::ofstream("foo.txt"));
我收到以下错误:
错误:没有匹配的调用函数 ‘myclass::printSomeData(std::ofstream)’
注意:来自‘std::ofstream {aka 的参数 1 没有已知的转换 std::basic_ofstream}’ 到 ‘std::ostream& {aka std::basic_ostream&}'
但是,如果我像下面这样首先调用函数来实例化 ofstream,我不会收到任何错误,我不太明白:
std::ofstream foo("foo.txt");
myclass.printSomeData(foo);
谁能给我一个线索?
谢谢
【问题讨论】: