begin process at 2012 05 30 05:06:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

variable membre non static dans une fonction membre static


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

variable membre non static dans une fonction membre static

mercredi 30 avril 2003 à 23:33:28 | variable membre non static dans une fonction membre static

adrod

J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:

To access the nonstatic member, you must create an instance of the class and use a member-access operator (. or ->).

// Exemple avec l'erreur
class s1 { // in cpp file
static void func();
int i;
};

void s1::func()
{
i = 1; // C2597 here
}

Est-ce que quelqu'un pour me dire comment il faut faire exactement? Je ne comprend pas vraiment pourquoi cela fait une erreur. Si quelqu'un a une explication je suis preneur! Merci d'avance,
Adrod
jeudi 1 mai 2003 à 10:32:57 | Re : variable membre non static dans une fonction membre static

Kaid


Ta méthode est une méthode statique et ton attribut est un attribut d'instance. Tu ne peux donc pas accéder depuis ta méthode à ton attribut. Pour corriger le problème, soit tu passes ta méthode en méthode d'instance, soit tu passes ton attribut en attribut statique.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:
>
> To access the nonstatic member, you must create an instance of the class and use a member-access operator (. or ->).
>
> // Exemple avec l'erreur
> class s1 { // in cpp file
> static void func();
> int i;
> };
>
> void s1::func()
> {
> i = 1; // C2597 here
> }
>
> Est-ce que quelqu'un pour me dire comment il faut faire exactement? Je ne comprend pas vraiment pourquoi cela fait une erreur. Si quelqu'un a une explication je suis preneur! Merci d'avance,
> Adrod
>
vendredi 2 mai 2003 à 03:49:26 | Re : variable membre non static dans une fonction membre static

CoreBreaker

Il y a 3 corrections possibles:

1.

class s1 { // in cpp file
void func();
int i;
};

void s1::func()
{
i = 1; // C2597 here
}



2.

class s1 { // in cpp file
void func();
static int i;
};

void s1::func()
{
i = 1; // C2597 here
}



3.

class s1 { // in cpp file
static void func();
static int i;
};

void s1::func()
{
i = 1; // C2597 here
}


Core Breaker


-------------------------------
Réponse au message :
-------------------------------

> J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:
>
> To access the nonstatic member, you must create an instance of the class and use a member-access operator (. or ->).
>
> // Exemple avec l'erreur
> class s1 { // in cpp file
> static void func();
> int i;
> };
>
> void s1::func()
> {
> i = 1; // C2597 here
> }
>
> Est-ce que quelqu'un pour me dire comment il faut faire exactement? Je ne comprend pas vraiment pourquoi cela fait une erreur. Si quelqu'un a une explication je suis preneur! Merci d'avance,
> Adrod
>
samedi 3 mai 2003 à 00:16:46 | Re : variable membre non static dans une fonction membre static

adrod

En fait ma fonction doit être static donc il ne reste qu'une solution. Mais si je mets ma variable en static cela me met une erreur lors du "linking":
OperationsPixels.obj : error LNK2001: unresolved external symbol "private: static int COperPixels::coefficient" (?coefficient@COperPixels@@1HA)
"coefficient" étant la variable remplacant "i" que j'ai mis dans l'exemple et "COperPixels" étant la classe.
Y a t'il une autre solution?
Adrod


-------------------------------
Réponse au message :
-------------------------------

> Il y a 3 corrections possibles:
>
> 1.

> class s1 { // in cpp file
> void func();
> int i;
> };
>
> void s1::func()
> {
> i = 1; // C2597 here
> }
>
>

>
> 2.

> class s1 { // in cpp file
> void func();
> static int i;
> };
>
> void s1::func()
> {
> i = 1; // C2597 here
> }
>
>

>
> 3.

> class s1 { // in cpp file
> static void func();
> static int i;
> };
>
> void s1::func()
> {
> i = 1; // C2597 here
> }
>
>

> Core Breaker
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:
> >
> > To access the nonstatic member, you must create an instance of the class and use a member-access operator (. or ->).
> >
> > // Exemple avec l'erreur
> > class s1 { // in cpp file
> > static void func();
> > int i;
> > };
> >
> > void s1::func()
> > {
> > i = 1; // C2597 here
> > }
> >
> > Est-ce que quelqu'un pour me dire comment il faut faire exactement? Je ne comprend pas vraiment pourquoi cela fait une erreur. Si quelqu'un a une explication je suis preneur! Merci d'avance,
> > Adrod
> >
>
samedi 3 mai 2003 à 00:45:31 | Re : variable membre non static dans une fonction membre static

CoreBreaker

C'est nomal tu dois implénter ta variable coefficient comme ceci en dehors de la définition de la classe:

int COperPixels::coefficient= valeur_initiale;

Core Breaker


-------------------------------
Réponse au message :
-------------------------------

> En fait ma fonction doit être static donc il ne reste qu'une solution. Mais si je mets ma variable en static cela me met une erreur lors du "linking":
> OperationsPixels.obj : error LNK2001: unresolved external symbol "private: static int COperPixels::coefficient" (?coefficient@COperPixels@@1HA)
> "coefficient" étant la variable remplacant "i" que j'ai mis dans l'exemple et "COperPixels" étant la classe.
> Y a t'il une autre solution?
> Adrod
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Il y a 3 corrections possibles:
> >
> > 1.

> > class s1 { // in cpp file
> > void func();
> > int i;
> > };
> >
> > void s1::func()
> > {
> > i = 1; // C2597 here
> > }
> >
> >

> >
> > 2.

> > class s1 { // in cpp file
> > void func();
> > static int i;
> > };
> >
> > void s1::func()
> > {
> > i = 1; // C2597 here
> > }
> >
> >

> >
> > 3.

> > class s1 { // in cpp file
> > static void func();
> > static int i;
> > };
> >
> > void s1::func()
> > {
> > i = 1; // C2597 here
> > }
> >
> >

> > Core Breaker
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:
> > >
> > > To access the nonstatic member, you must create an instance of the class and use a member-access operator (. or ->).
> > >
> > > // Exemple avec l'erreur
> > > class s1 { // in cpp file
> > > static void func();
> > > int i;
> > > };
> > >
> > > void s1::func()
> > > {
> > > i = 1; // C2597 here
> > > }
> > >
> > > Est-ce que quelqu'un pour me dire comment il faut faire exactement? Je ne comprend pas vraiment pourquoi cela fait une erreur. Si quelqu'un a une explication je suis preneur! Merci d'avance,
> > > Adrod
> > >
> >
>
samedi 3 mai 2003 à 11:27:54 | Re : variable membre non static dans une fonction membre static

adrod

Merci beaucoup
Adrod


-------------------------------
Réponse au message :
-------------------------------

> C'est nomal tu dois implénter ta variable coefficient comme ceci en dehors de la définition de la classe:
>
> int COperPixels::coefficient= valeur_initiale;
>
> Core Breaker
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > En fait ma fonction doit être static donc il ne reste qu'une solution. Mais si je mets ma variable en static cela me met une erreur lors du "linking":
> > OperationsPixels.obj : error LNK2001: unresolved external symbol "private: static int COperPixels::coefficient" (?coefficient@COperPixels@@1HA)
> > "coefficient" étant la variable remplacant "i" que j'ai mis dans l'exemple et "COperPixels" étant la classe.
> > Y a t'il une autre solution?
> > Adrod
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Il y a 3 corrections possibles:
> > >
> > > 1.

> > > class s1 { // in cpp file
> > > void func();
> > > int i;
> > > };
> > >
> > > void s1::func()
> > > {
> > > i = 1; // C2597 here
> > > }
> > >
> > >

> > >
> > > 2.

> > > class s1 { // in cpp file
> > > void func();
> > > static int i;
> > > };
> > >
> > > void s1::func()
> > > {
> > > i = 1; // C2597 here
> > > }
> > >
> > >

> > >
> > > 3.

> > > class s1 { // in cpp file
> > > static void func();
> > > static int i;
> > > };
> > >
> > > void s1::func()
> > > {
> > > i = 1; // C2597 here
> > > }
> > >
> > >

> > > Core Breaker
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:
> > > >
> > > > To access the nonstatic member, you must create an instance of the class and use a member-access operator (. or ->).
> > > >
> > > > // Exemple avec l'erreur
> > > > class s1 { // in cpp file
> > > > static void func();
> > > > int i;
> > > > };
> > > >
> > > > void s1::func()
> > > > {
> > > > i = 1; // C2597 here
> > > > }
> > > >
> > > > Est-ce que quelqu'un pour me dire comment il faut faire exactement? Je ne comprend pas vraiment pourquoi cela fait une erreur. Si quelqu'un a une explication je suis preneur! Merci d'avance,
> > > > Adrod
> > > >
> > >
> >
>
jeudi 10 février 2005 à 16:04:08 | Re : variable membre non static dans une fonction membre static

misterzinzin

heu une bete question... j'aimerais faire une liste de destination statique dans une classe..
et j'y arrive pas...
en fait dans ma classe j'ai:

class GestionTicket{
private:
   
public:
    static char* DestinationValide[6];
    add(Ticket t);
    afficheTickets();
    afficheTickets(char* destination);
    sauveTickets(char* destination);
    //ContainerMemoire ContainerTicket;
    ContainerPersistantTexte ContainerTicket;
    //ContainerPersistantBinaire ContainerTicket;
};

char* GestionTicket::DestinationValide={"bruxelles","liege","namur","arlon","hasselt","aachen"};

evidement... ca ne marche pas
on fait comment ???

moi, le seul, l'unique, ZinZin


Cette discussion est classée dans : fonction, variable, erreur, static, membre


Répondre à ce message

Sujets en rapport avec ce message

(bool) probléme avec une variable bool [ par Xilofeon ] Salut a tousquestion d'un débutant confirmé lol !!!alors voila j'ai une variable bool a utilisé dans plusieur fonction dont 1 void dans le fichier .cp Surdéfinition statique (static) d'une variable membre [ par PetersonG ] Bonjour,Une drôle d'idée m'a fait surdéfinir en static une variable membre d'une classe parente, et, à ma grande surprise, le code compile sans problè variable globale en C++ [ par skazat ] Bonjour,Cette question est tres urgenteJe dois creer un pgm d'apprentissage pour enfant (projet universitaire). Le code est tres lourd donc je ne le p cast... [ par elpens ] Bonjour,J'ai un souci de casting avec la fonction createProcess(...)J'ai un path en System:String, qui ne passe pas dans la fonction.J'ai également te fonction pour "écrire" une variable [ par kenjomaster ] Bonjour,J'arrive à positionner un curseur, faire un clic, simuler une ou plusieurs combinaisons de touches.Mais je ne sais pas écrire une variable (du Fonction membre vers pointer non typé [ par foxz ] Est-il possible de convertir une fonction membre (d'une class) vers un pointer non typé(void*)class A{ int foo(int,int){};void init(){  void *t;  A *x Fonction erreur [ par logant83 ] Bonsoir, voila alors j'essay de faire retourner a ma fonction 'char *splitnick(char *mot)"' une valeur char (logique je sais) mais voila dés que je co coredll sur winxp [ par morganitos ] Bonjour à tous.Je me lance dans la programmation d'un petit programme manipulant le son en c++ sous visual c++ 6.0.Je dois donc accéder à des fonction Densité de probabilité et variable [ par ChianLi ] bonjour à tous,je voudrais écrire un programme qui me permette à partir d'une fonction définissant une densité de probabilité de générer des nombres e


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales