我从下面的代码中得到以下错误。
error: invalid use of member 'calls_object::OBJECT' in static member function|
error: from this location
从第OBJECT->call();
29 行开始。
基本上该函数必须是静态的,因为它实际上是创建 Windows 线程的代码的简化版本。我似乎无法在静态函数中使用指针,但我可以在静态函数中创建对象没问题。还有其他方法吗?
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)windowsthread, (LPVOID)i, NULL, &m_id);
static DWORD_PTR WINAPI windowsthread()
{
OBJECT->call();
}
l
class object
{
private:
public:
object(){}
~object(){}
void call(){}
};
class calls_object
{
private:
object* OBJECT;
public:
calls_object()
{
OBJECT = new object();
}
~calls_object(){}
#ifdef _WIN32
static void windows_function()
{
OBJECT->call();
}
#endif
};
int main()
{
calls_object O;
}