我想在父類中聲明一個靜態類並初始化它,但我似乎得到各種各樣的錯誤。初始化一個類中的靜態數據成員(類)C++
/* MainWindow.h */
class MainWindow
{
private:
static DWORD WINAPI threadproc(void* param);
static MainWindow *hWin;
};
/* MainWindow.cpp */
#include "MainWindow.h"
void MainWindow::on_pushButton_clicked()
{
HANDLE hThread = CreateThread(NULL, NULL, threadproc, (void*) this, NULL, NULL);
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
}
DWORD WINAPI MainWindow::threadproc(void* param)
{
hWin = (MainWindow*) param;
//Be able to access stuff like hWin->run();
return 0;
}
我一直在使用MainWindow::hWin = (MainWindow*) param;
和MainWindow::hWin = new MainWindow((MainWindow*) param));
和其他許多人嘗試過,但沒有一個似乎工作。什麼是正確的方法來做到這一點?有沒有人會推薦這個主題的資源,我幾天來一直在與class
的問題糾纏在一起,我非常沮喪。
你會得到哪些錯誤信息? – Lol4t0 2012-02-23 12:41:37
C++中沒有靜態類。 (你有什麼是一個靜態數據成員。) – sbi 2012-02-23 12:43:23