OK, merci pour tout.
Type: Messages; Utilisateur: LinuxUser
OK, merci pour tout.
OK, j'ai compris à présent la subtilité.
OK, en l'occurence ici le memebre est private, mais je vois ce que tu beux dire.
Parcontre pas compris là :koi:.
VS 2010 il me semble, c'est la première fois quej'utilise VS.
HS: serais-tu fan du rappeur Mala ?
Quand tu dis toute la classe, tu veux dire .h+.cpp, si on a
Foo.h
class Foo
{
private:
static const double m_m;
};
Et
Foo.cpp:
Donc
Foo.cpp
// visible uniquement dans Foo.cpp
static const double Foo::forceMin = 100.0;
et
// je vois pas la difference
const double Foo::forceMin = 100.0;
:koi:
Ca ne marche pas, le compilateur considère que dans le .cpp j'essaye de définir une seconde fois une varible qui existe déjà:
...has a previous declaration as...
EDIT: en fait il fallait...
D'accord, j'ai compris, je vais tester à présent.
Oui c'est vrai, je n'avais pas vu.
Mais de le .cpp, tu fais cette initialisation où? Tout au début, en dehors de tout alors (comme une varible globale)?
Je dois donc initailiser mes membres static const double dans le constructeur dans le cpp alors.
Moi je trouvais cela mieux de les initialiser directement dans le .h plutot que dans le...
Je dois donc initailiser mes membres dans le cpp plutôt alors.
En effet tu as tout à fait raison, il me semblait avoir mis l'option -pedantic et en fait nan, je l'avais oublié.
A présent cela génère l'erreur suivante:
erreur: floating-point literal cannot...
J'avais pensé installer et tester avec Cygwin, parcontre je savais pas que visual studio ne suivait pas entierement C++11, merci pour l'info.
C'est ce que je me disait, mais pourquoi pas mettre...
Ah nan, ça ça va pas être possible.
Dans les options de compilation de visual studio? D'ailleurs j'aimerai bien les connaitres.
C'est ce que je me demande également.
OK, c'est ce que j'ai cru comprendre aussi, mais pourquoi sous Linux et MacOSX je n'ai pas eu de problème alors que j'initialise dans le .h.
Bonjour,
J'ai un problème d'initialisation d'une variable membre de type static const double, mais uniquemment sous Windows (Visual Studio) et pas sous Linux/MacOSX.
Si on a la classe...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.