我正在嘗試爲我的OpenGL項目創建一個加載屏幕,並且已經閱讀了讓它正常工作,最好使用線程。我想打電話給我的功能與我的線程,但我不斷收到這些錯誤:如何在課堂上使用線程?
錯誤C2064:術語不計算爲服用3個參數
智能感知功能:沒有構造函數的實例「STD ::螺紋::線程」相匹配的參數列表 參數類型有:(無效(屏幕* newScreen,布爾activeVisuals,布爾activeControls),播放屏幕*,布爾,布爾)
這是我的代碼:
//LoadingScreen
class LoadingScreen
{
LoadingScreen();
void LoadNewScreen(Screen* newScreen, bool activeVisuals, bool activeControls);
void Setup();
};
void LoadingScreen::LoadNewScreen(Screen* newScreen, bool activeVisuals, bool activeControls)
{
}
void LoadingScreen::Setup()
{
PlayScreen *playScreen = new PlayScreen();
std::thread first(LoadingScreen::LoadNewScreen,playScreen, true, true);// , playScreen, true, true);
first.join();
}
//source.cpp
LoadingScreen loadingScreen;
int main()
{
LoadingScreen loadingScreen = LoadingScreen();
loadingScreen.Setup();
return 0;
}
確保您瞭解線程在使用OpenGL時如何使用OpenGL。我不知道你正在加載什麼類型的資源,但是如果你使用共享資源的多個渲染上下文或映射/取消映射緩衝區內存,你可能遇到CPU/GPU同步問題。 – 2015-02-18 01:33:37
@ AndonM.Coleman是的,我似乎無法讓事情與線程一起工作。它一直拋出異常,我無法找到任何信息,例如:[程序名稱] 0x00E9E2C9處理異常0xC0000005:訪問衝突寫入位置0x00000020。 – WhyYouNoWork 2015-02-18 02:58:52