为什么线程过程应该是静态的或成员函数? 有正当理由吗?
最佳答案
非静态成员变量有一个编译器内部传递的隐式this
参数。
你有
ClassInQuestion {
void threadFunc( int );
}
并且编译器在内部创建了一个函数
void ClassInQuestion_threadFunc( ClassInQuestion* thisObject, int );
因此,除非线程过程接受指向函数的指针,该函数的第一个参数类型为 ClassInQuestion*
,否则它将与预期的函数签名不匹配。
关于c++ - 为什么线程过程应该是静态的或成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3668743/