Я хочу поместить некоторые элементы в вектор. До сих пор я всегда использовал этот способ вставки элементов в вектор, и он всегда работал. Я не знаю, почему он сегодня не работает.Почему метод push_back vector не работает?
World::World()
{
collisionmap.loadFromFile("collisionmap.png");
for(int i=0; i<collisionmap.getSize().y; i++)
{
for(int j=0; j<collisionmap.getSize().x; j++)
{
if(collisionmap.getPixel(j,i)==sf::Color(0,0,0))
{
cout<<"test"<<endl //prints perfectly
collisionList.push_back(sf::FloatRect(j*32, i*32, 32, 32));
}
}
}
cout<<collisionList.size(); //shows nothing
}
Edit:
Я забыл упомянуть: -
1.I я использую SFML.
2. collisionList - это вектор.
3. Этот код компилируется без проблем.
4. Размер карты столкновения не равен нулю collisionmap.getSize() возвращает точное значение.
Это очень трудно выполнить отладку кода, когда он не компилируется или запустить: http://ideone.com/S5p9EH –
Вы действительно должны упомянуть, что вы используете SFML. – VermillionAzure
Что такое 'collisionList'? Какие размеры? Возможно, отладчик может помочь –