CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[SFML C++] Passer un Renderwindow en par

ska1
ska1
Niveau 8
02 décembre 2013 à 19:38:02

Bonjour à tous :)
J'aimerais bien passer un objet de type renderwindow dans une fonction en paramètre mais lorsque je compile, il me met une erreur:
error: 'sf::NonCopyable::NonCopyable(const sf::Window&) if private
Help me :svp: , ça fait 3 heures que j'essaye

lokilok
lokilok
Niveau 17
02 décembre 2013 à 22:03:45

Il faut passer par pointeur ou par référence, pas par copie.

SuPeRHuMaR
SuPeRHuMaR
Niveau 10
03 décembre 2013 à 16:19:41

Comme l'a dit lokilok, quand tu as une fonction avec paramètre, quelle qu'elle soit, c'est une copie qui est envoyée. C'est pourquoi tu risques d'avoir des soucis dans certains cas comme le tiens, càd un objet non copiable.

Exemple sans pointeur :
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/un-probleme-bien-ennuyeux

ça ne marche pas.

Le même exemple avec pointeur et référence :
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/qui-a-dit-un-probleme-bien-ennuyeux

ça marche.

L'exemple que je donne n'est peut-être pas correct pour ton problème, mais il t'aidera à utiliser et à comprendre un peu mieux les pointeurs et passages par référence, qui t'aideront à résoudre ton problème.

ska1
ska1
Niveau 8
03 décembre 2013 à 21:35:55

Merci beaucou, vous pouvez m'indiquer comment je dois écrire la fonction svp je suis pas très à l'aise avec les pointeurs

dezq
dezq
Niveau 7
03 décembre 2013 à 21:41:33

en parametre ta bien mis renderwindow et non window ?

sinon moi j'ai ce fonction dans mon jeu il marche parfaitement:

void afficher(sf::RenderWindow &window);

lokilok
lokilok
Niveau 17
03 décembre 2013 à 22:04:46

Parce que tu ne passe pas l'objet par copie.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment