Oberon80
30-12-2005, 10:18
Salve, 
il mio problema è il seguente:
Devo dichiarare una variabile static in una classe che estende una classe virtuale ed ovviamente devo associare un metodo (anch'esso static) per modificare la suddetta classe.
nella classe virtuale dichiaro:
virtual void set_optimization_level(int l)=0;
nella sottoclasse dichiaro:
void set_optimization_level(int l); // con la stessa visibilità
static void set_opt_level( int l );
e
static int optimization_level;
ecco le implementazioni:
void NomeSottoclasse::set_optimization_level(int l){
set_opt_level(l);
}
void NomeSottoclasse::set_opt_level(int l){
optimization_level=l;
}
il risultato della compilazione è il seguente errore:
myfile.o(.text+0x275): In function `NomeSottoclasse::set_opt_level(int)':
myfile.cc: undefined reference to `NomeSottoclasse::optimization_level'
collect2: ld returned 1 exit status
make: *** [MyProject] Error 1
Da cosa può dipendere???
Ho letto il manuale di C++ e mi sembra sia corretto.
il mio problema è il seguente:
Devo dichiarare una variabile static in una classe che estende una classe virtuale ed ovviamente devo associare un metodo (anch'esso static) per modificare la suddetta classe.
nella classe virtuale dichiaro:
virtual void set_optimization_level(int l)=0;
nella sottoclasse dichiaro:
void set_optimization_level(int l); // con la stessa visibilità
static void set_opt_level( int l );
e
static int optimization_level;
ecco le implementazioni:
void NomeSottoclasse::set_optimization_level(int l){
set_opt_level(l);
}
void NomeSottoclasse::set_opt_level(int l){
optimization_level=l;
}
il risultato della compilazione è il seguente errore:
myfile.o(.text+0x275): In function `NomeSottoclasse::set_opt_level(int)':
myfile.cc: undefined reference to `NomeSottoclasse::optimization_level'
collect2: ld returned 1 exit status
make: *** [MyProject] Error 1
Da cosa può dipendere???
Ho letto il manuale di C++ e mi sembra sia corretto.