我使用新的c ++ 11 std::thread接口遇到了问题.
我无法弄清楚如何std::ostream将对a的引用传递给线程将执行的函数.
这是传递整数的示例(在gcc 4.6下按预期编译和工作):
void foo(int &i) {
    /** do something with i **/
    std::cout << i << std::endl;
}
int k = 10;
std::thread t(foo, k);
但是当我尝试传递一个ostream时,它无法编译:
void foo(std::ostream &os) {
    /** do something with os **/
    os << "This should be printed to os" << std::endl;
}
std::thread t(foo, std::cout);
有没有办法做到这一点,还是根本不可能?
注意:从编译错误看来它似乎来自一个已删除的构造函数...