親クラス内で静的クラスを宣言して初期化しようとしていますが、すべてのエラーが発生しているようです。クラス内の静的データメンバ(クラス)の初期化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
C++には静的クラスはありません。あなたが持っているものは、静的なデータメンバです。 – sbi