View Single Post
Old 17-11-2007, 12:06   #2
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Primo errore: devi dichiarare fI e fI2 virtual (virtual void fI()=0).
Probabilmente pero' e' solo un errore di trascrizione.
Il motivo principale per cui non funziona e' pero' dovuto la fatto che quando hai derivato da I non hai specificato
la derivazione di tipo virtual
Codice:
class I2 : virtual public I { 
...
Facendo cosi', quando poi derivi sia da I2 che da IImpl, ti trovo con due fI distinte ( I2::fI e IImpl::fI ) per cui ti in pratica in I2Impl implementi
solo una delle due e il compilatore si lamenta di questo.
__________________
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

Ultima modifica di marco.r : 17-11-2007 alle 12:15. Motivo: ops, errore
marco.r è offline   Rispondi citando il messaggio o parte di esso