|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 5195
|
[C++] Tipo di ritorno in una classe templetizzata
Ciao a tutti,
ho un problema con una ridefinizione esterna di un operatore di una classe annidata in una classe templetizzata... la ridefinizione che crea problemi è questa classeuno<K>::classedue& classeuno<K>::classedue::operator++() che in pratica è la ridefinizione dell'operatore di incremento per la classedue che è annidata dentro classeuno, classe templetizzata a K, che mi ritorna un riferimento ad un oggetto della classedue. l'errore che mi dà il compilatore è che si aspetta un costruttore, distruttore o convertitore di tipo prima dell' "&"... e non capisco perchè! ho provato di tutto ma continua a darmi l'errore... un enorme grazie a chiunque contribuirà ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Puoi fare un esempio completo di codice che rende lo stesso errore ?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 5195
|
allora la situazione generale più o meno è questa, ho una classe annidata dentro un'altra classe templetizzata. sto ridefinendo l'operatore di incremento ++ esternamente (nello stesso file header della classe templetizzata, a scanso di equivoci)...
Codice:
template <class K> class classeuno { private: ....; public: class classedue { public: classedue& operator++(); //ridefinizione op di incr. ....; }; .... }; template <class K> classeuno<K>::classedue& classeuno<K>::classedue::operator++() { ....; } |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Mar 2003
Messaggi: 5195
|
risolto!
anche se non ho ben chiaro il perchè... |
||
![]() |
![]() |
![]() |
#5 | |||
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|||
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 5195
|
però provando col gcc 4.1 compila correttamente (anche se spara fuori un warning)... ok beh sono contento di aver capito
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:29.