Je rencontre un problème lors de l'accès à une variable const statique définie dans la section de variable de membre private de ma classe. Plus précisément, le code écrit ci-dessous peut générer la variable dans le constructeur, mais lorsque j'essaie d'y accéder via une fonction accesseur, j'obtiens une erreur discutée ci-dessous. Si quelqu'un sait pourquoi j'apprécierais votre aide.Problème lors de l'accès aux variables const statiques via les fonctions de membre de classe
#include <iostream>
using namespace std;
class TestStaticVariables
{
// Private member variable:
static const double static_double_variable;
public:
// Constructor:
TestStaticVariables()
{
// Initialization:
static const double static_double_variable = 20.0;
cout << static_double_variable;
}
// Member Function:
void test();
};
void TestStaticVariables::test()
{
Lorsque cette ligne suivante est décommentée je reçois le message d'erreur suivant:
Ligne Lieu Outil: 0: "TestStaticVariables :: static_double_variable", référencé à partir de:
//cout << static_double_variable;
}
int main(int argc, char* const argv[])
{
TestStaticVariables test_instance;
return 0;
}
Raison pour laquelle cela fonctionne? – nbro