PDA

Visualizza la versione completa : c++ membro static


dechiara.p88
30-03-2012, 09:21
Salve ho un problema con questo programma


#include <iostream>
#include <string>
using namespace std;
class A
{
public: static int a;
static string b;
A(){};
};

void set_A() {
A::a = 3; A::b = "ciao";
}

int main()
{
set_A();
A a;
cout << a.a << " " << a.b << "\n";
} ora dovrei inizzializzare a e b quindi ho messo

int a=0;
char b='ber'; dopo static string b ma il programma non mi funziona chi mi da un piccolo aiutino ? grazie in anticipo

ramy89
30-03-2012, 11:52
int A::a=0;
string A::b="ber";

dechiara.p88
30-03-2012, 11:59
Originariamente inviato da ramy89


int A::a=0;
string A::b="ber";


non funziona mi esce questo errore ISO C++ forbids initialization of member `a' dove sbaglio ?? l'implementazione l'ho messa da tutte le parti ma niente

lolide
30-03-2012, 12:26
Originariamente inviato da dechiara.p88
non funziona mi esce questo errore ISO C++ forbids initialization of member `a' dove sbaglio ?? l'implementazione l'ho messa da tutte le parti ma niente

Non devi modifica la dichiarazione nella classe.
Devi inserire quelle inizializzazioni fuori dalla classe cosė allochi lo spazio per quelle variabili che poi sono utilizzabili.

dechiara.p88
30-03-2012, 12:44
Grazie 1000 a tutti e 2 ;)

Loading