我想实现类似于 Java 的接口 Runnable 的东西。我尝试这样做:
class Runnable{
public:
void start(){
t = std::thread(&Runnable::run, this);
}
protected:
virtual void run(){
}
};
想法很简单。我想重载 run 方法,然后 start() 应该启动重载的方法。但是……这行不通。
terminate called after throwing an instance of 'std::system_error'
what(): Operation not permitted
PS我从带有dlopen的动态库中加载了一个派生自Runnable的类实例。