错误 C2893 无法专门化函数模板“未知类型 std::invoke(_Callable &&,_Types &&...)”
Posted
技术标签:
【中文标题】错误 C2893 无法专门化函数模板“未知类型 std::invoke(_Callable &&,_Types &&...)”【英文标题】:Error C2893 Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...)' 【发布时间】:2017-06-13 10:01:40 【问题描述】:我在 Visual Studio 2015 项目的 C++ 类中使用 std::thread。
class BaggageSoln
void mainProcess();
// Threading functions
void run();
void startZED();
void closeZED();
private:
std::thread zed_callback;
void BaggageSoln::startZED()
// Start the thread for grabbing ZED data
has_data = false;
zed_callback = std::thread(&BaggageSoln::run);
//Wait for data to be grabbed
while (!has_data)
sleep_ms(1);
void BaggageSoln::mainProcess()
void BaggageSoln::run()
void BaggageSoln::closeZED()
xthread 文件第 238 行发生错误。 有什么问题?
【问题讨论】:
【参考方案1】:&BaggageSoln::run
需要调用实例,将其设为static
或提供实例。
zed_callback = std::thread(&BaggageSoln::run, this);
【讨论】:
谢谢让我试试以上是关于错误 C2893 无法专门化函数模板“未知类型 std::invoke(_Callable &&,_Types &&...)”的主要内容,如果未能解决你的问题,请参考以下文章