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

Problème C++ : static

Chris_le_ouf
Chris_le_ouf
Niveau 5
08 juin 2003 à 04:16:21

Salut, je voulais savoir si quelqu´un serait assez aimable pour me montrer l´utilisation d´une variable membre static, pour compter le nombre d´instance d´une classe dans un programme par exemple. Parce que moi j´ai essayer sous vc++ 6 et je suis tombé sur des merdes pas possibles, genre des erreurs de linkage chelous. ou genre ça :
Functions declared with the static modifier by definition have file scope. Static variables have the same limitation. Trying to access any static variables from outside of the file in which they are declared can result in a compile error or LNK2001.
j´y comprends rien, alors ça sert à quoi static si la portée est limitée au fichier ? ?

SuperDindon
SuperDindon
Niveau 8
08 juin 2003 à 12:36:28

Déclarer une vrariable statique dans une classe ne sert que de référence,il faut ensuite que tu définisse ou pointe cette référence en la déclarant de nouveau dans un cpp de la manière suivante:

static typedetavar nomdetaclasse::nomdumembre;

Ce qui donne par ex.:
"
class Toto
{
protected:
static unsigned int instancecount;
};

static unsigned int Toto::instancecount;"

ou même encore:

" static unsigned int Toto::instancecount = 0;"

si tu as besoin d´initialiser la variable(ce que tu ne pourras pas faire avec un constructuer classique)

Chris_le_ouf
Chris_le_ouf
Niveau 5
08 juin 2003 à 14:07:43

Ben justement, ça ça marche pas. J´ai poussé le vice jusqu´à reproduire exactement ton exemple, j´ai créé un projet Toto, avec une classe Toto, je l´ai déclarée exactement comme la tienne, ben ça compile pas.
Cette ligne tu la mets où ?
static unsigned int Toto::instancecount = 0;
parce que en dessous de la déclaration ça compile pas, dans le fichier d´implementation ça compile pas, enfin bref ça veut pas marcher quoi

SuperDindon
SuperDindon
Niveau 8
08 juin 2003 à 16:48:09

dans ton cpp mais oui je me suis gouré ce nest pas:

" static unsigned int Toto::instances;"

mais

" unsigned int Toto::instances;"

plus aucune excuse pour que ça ne compile poas

SuperDindon
SuperDindon
Niveau 8
08 juin 2003 à 16:48:59

vire tous les static

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