Oppure

Loading
15/08/12 13:54
tekdu
Ho 3 classi parametriche (con i template) di cui una implementa il pattern singleton. il problema è che nel punto in cui richiedo il puntatore al singleton(classi A e B metodo collect() ) il compilatore mi dice che l'oggetto singleton non è stato istanziato.
dovre forse parametrizzare in q,w,e,r,t,y anche A e B ed usare singleton<q,w,e,r,t,y>::getInstance().method(.....); ?
puo' avere conseguenze usare troppi tipi in un template?

ps: il seguente è una specie di pseudocodice in c++ per spiegare il problema


class singleton<q,w,e,r,t,y>{

private :
costruttore(){ resultSum=0}
static *singleton<q,w,e,r,t,y> ptr=NULL;
int resultSum;
public:
*singleton<q,w,e,r,t,y> getInstance();
void method(int partialSum){
lock(); // threadSafe
resultSum+=partialSum;
unlock();
}

}

class A<q,w,e,r>{
public:
void collect(int sum){
singleton::getInstance().method(sum);
}

}
class B<e,r,t,y>{
public:
void collect(int sum){
singleton::getInstance().method(sum);
}

}
Ultima modifica effettuata da tekdu 15/08/12 14:12
aaa
16/08/12 14:33
tekdu
ho risolto (almeno credo.. il compilatore non mi da problemi ora proverò ad usare la libreria che ho creato) "parametrizzando" tutte le classi ed usando forward declaration negli header file di A e B! ciao ragazzi!:k:
aaa