我最近使用這個語法的指針:瘋狂的unique_ptr語法
std::vector<Shader *>* _shaderArray;
的問題是,我開始內存泄漏錯誤。所以現在我決定使用unique_pointers,所以我不必再爲此擔心。但從我的理解上面的語法在c + + 11語法是:
std::unique_ptr<std::vector<std::unique_ptr<Shader>>> _shaderArray;
如果這是正確的,我該如何初始化它?這段代碼給我的錯誤:
_shaderArray = new std::vector<Shader *>();
給我一個「新」的錯誤。它說Error:期望一個類型說明符,因爲我有兩個獨特的指針,也許我應該初始化兩個 – lhahn 2014-10-09 01:53:20
上面的聲明在我的一側編譯沒有錯誤(包括g ++和clang)。確保你使用'-std = C++ 11'標誌來啓用'C++ 11' – vsoftco 2014-10-09 01:55:15
我想把它包含在一個私有成員中,但我沒有在這裏編譯(visual studio 2013 express),我會嘗試那 – lhahn 2014-10-09 01:56:19