Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utilisation membre static? [ Divers / Débutant(e) ] (arbixy)

dimanche 19 octobre 2008 à 19:22:41 | Utilisation membre static?

arbixy

Bonjour,


J'ai un souci de linking avec un morceau de code, et je vous avoue que je n'ai pas la moindre idée de pourquoi.

Voila le code incriminé :


//A.h

class A

{
public:
   static int a;
   static void f();
};


//A.cpp

void A::f()
{
   a = 2;
};




Lorsque je compile le tout, un problème au linking se présente, pretextant qu'il lui est impossible de trouver le symbole "a".

Par contre, si j'implémente la méthode f dans la classe A directement ou si je l'implémente dans le fichier cpp avec le mot-clé inline alors tout se passe bien.


Quelqu'un saurait me dire pourquoi ? Moi je seche.


dimanche 19 octobre 2008 à 20:36:20 | Re : Utilisation membre static?

SAKingdom

Membre Club

class A

{
public:
   static int a;
   static void f();
};


//A.cpp

int A::a;

void A::f()
{
   a = 2;
}


C++ (@++)


lundi 20 octobre 2008 à 14:18:09 | Re : Utilisation membre static?

GurneyH

Salut,

   L'exemple de SAKingdom te montre bien la solution.
 
   Cependant, pour être plus précis, voici une petite précision concernant l'initialisation des variables statiques.

    -L'initialisation est impérativement unique.
    -L'initialisation se trouve dans le fichier d'implémentation de la classe (.cpp), en rappelant tous les éléments du contexte (type de variable et classe d'appartenance.)

 
   C'est le pourquoi de:

        //A.cpp

              int A::a;


a++

  



mercredi 22 octobre 2008 à 11:46:22 | Re : Utilisation membre static?

arbixy

Merci messieurs, c'est beaucoup plus clair ;)

C'est etrange que cette information ne figure nulle part dans mon livre "complet" sur le C++ ou sur le net, ceci dit.

vendredi 24 octobre 2008 à 05:41:19 | Re : Utilisation membre static?

GurneyH

Salut,

    sissi, tu peux trouver des infos sur le net concernant l'emploi de static.

    Vas voir sur devellopez.com, c'est académique, mais ça reste buvable...

a++




Cette discussion est classé dans : code, utilisation, static, membre, linking


Répondre à ce message

Sujets en rapport avec ce message

Acces a une donnée membre static via un thrread [ par pito50 ] Bonjour,J'initialise une donnée membre static d'une classe dansmon proccess principale. Par la suite je crée un thread al'aide de AfxBeginThread et j' utilisation d'un exe dans du code [ par sampq ] voila mon problème:je cherche à compresser une grande quantité de fichier mp3 en real audio. Pour cela il l'existe le programme producer.exe utilisabl Problème afficher une image au demarrage [ par Fly57 ] Bonjour tout le monde ,j'ai trouvé ce que je cherchais à faire c'ets à dire afficher une image au demarrage de mon programme, à l'adresse suivante :<a utilisation en C (ou C++) de (source C ou) DLL [ par wipeout ] Mon but est d'utiliser des fichiers C (avec .c et .h... bien sur!) dans mon application linux et windows. Je dispose d'une DLL compilé (par http://www Fichier INI [ par LordBob ] Bonjour a tous,voila je cherche à écrire dans un fichier INI, voici mon code:if(GetPrivateProfileString("Utilisation", "Time", 0, buff, 8, "config.ini Utilisation d'un code sources [ par celticheart ] Bonjour, Je suis un utilisateur de Pocket mais un ignorant quant à la programmation. Je suis à la recherche depuis des mois d'une application pour gér Optimisation avec macro [ par freakstreet ] Bonjour à tous !Je tente d'optimiser un code en C sur un microcontrolleur et avais une question sur l'utilisation de macros :si je fais un #define TAI utilisation d'OLE [ par Nebula ] Bonjour à tous !Je dois utiliser (un peu contre mon gré) l'API OLE pour lier des fichiers bitmap à un controle richedit, mais je ne sais pas du tout p Utilisation d'une librairie statique développée en C++ dans du code en C [ par oh81 ] Bonjour,   est-il possible de utiliser une librairie statique développée en C++ dans un programme dévloppé en C?   J'utilise Visual C++ comme environe Membre static d'une classe : undifined reference to [ par ctx_man ] Salut !Je ne comprend pas mon erreure...class A{    private:        <font color="


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 3,962 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.