Oui je vois mais le fait est que je ne crois pas utiliser de pointer :
int main()
{
std::vector<icon> allmenu; // position, size, text
allmenu.push_back(icon(sf::Vector2f(5, 115), sf::Vector2f(200, 50), "Search...")); //allmenu[0] search icon
allmenu.push_back(icon(sf::Vector2f(5, 5), sf::Vector2f(200, 50), "1")); //allmenu[1] button anime 1
allmenu.push_back(icon(sf::Vector2f(5, 60), sf::Vector2f(200, 50), "1000")); //allmenu[2] button anime 1000
allmenu.push_back(icon(sf::Vector2f(5, 170), sf::Vector2f(200, 50), "animation")); //allmenu[3] button animate
sf::RenderWindow window(sf::VideoMode(500, 500), "test");
window.setKeyRepeatEnabled(false);
while(window.isOpen())
{
window.clear(sf::Color::White);
for (int i(0); i < allmenu.size(); i++)
{
allmenu[i].draw(window);
}
window.display();
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
{
window.close();
}
}
}
return 0;
finalement j'ai reussi a le faire marcher en faisant :
void icon::draw(sf::RenderWindow& window)
{
name.setFont(font);
window.draw(name);
}
au lieu de :
void icon::draw(sf::RenderWindow& window)
{
window.draw(name);
}
mais ca m'embete de ne pas savoir ce qui ne fonctionnait pas pour ne pas refaire l'erreur.