我想創建一個簡單的二維數組或向量的SFML的Sprite對象。我嘗試了很多不同的方法,最終總是得到錯誤或者只是一個空的向量。C++ unique_ptr對象的2d數組?
我已經試過
// first x
for (int c = 0; c < w ; ++c)
{
vector<unique_ptr<sf::Sprite>> col;
map.push_back(std::move(col));
// then y
for (int r = 0; r < h ; ++r) {
map[c].push_back(unique_ptr<sf::Sprite>(new sf::Sprite()));
}
}
和
unique_ptr<sf::Sprite[0][0]> map;
...
map.reset(unique_ptr<sf::Sprite[0][0]>(new sf::Sprite[w][h]));
總體來說,我只是沒有成功地製作2D智能指針對象數組,並想知道,如果有人可以幫助。對不起,如果我沒有包含足夠的細節,這是我的第一篇文章,堆棧溢出,所以請溫柔:)
編輯:讓我給一些更詳細的,對不起。所以我在一個基本上是單身的工廠類的類中創建了這個2d數組。所以我需要這個二維數組在創建後離開堆棧等等。
然後將其作爲[靜態]成員變量或在名稱空間中定義它。 – 2013-04-22 02:25:06
注意:您不應該創建精靈的二維數組。你應該創建一個'width * height'長度的精靈的一維數組,你可以像2D數組那樣訪問。 – 2013-04-22 04:52:12