错误:对‘std::thread::thread(<unresolved overloaded function type>)’的调用没有匹配的函数 std::thread reader_thread(readStream);
时间: 2023-09-20 15:11:34 浏览: 319
调试的错误
引用中的代码展示了一个在使用std::thread时出现的错误。错误信息是"no matching function for call to 'std::thread::thread(<unresolved overloaded function type>, A*, int)’"。这个错误是因为在将重载的函数放入std::thread的参数时,编译器无法匹配到正确的函数。
引用中的代码展示了另一种情况下的解决方案,使用了更优的方法。在这个例子中,定义了一个typedef来表示一个成员函数指针类型,然后通过将函数指针赋值给std::thread的参数来解决问题。
引用中的代码展示了另一种解决方案,通过强制类型转换来消除函数指针的歧义。在这种情况下,std::thread的参数中不再有隐式的this指针。
根据提供的信息,错误信息是"no matching function for call to 'std::thread::thread(<unresolved overloaded function type>)’"。从代码中可以看出,std::thread的构造函数调用了一个名为readStream的函数,但是由于函数的重载问题,编译器无法匹配到正确的函数。为了解决这个问题,可以参考引用和中的方法,使用typedef或强制类型转换来明确指定函数指针的类型。这样就可以避免函数重载引起的歧义,从而解决错误。
阅读全文