Ciao a tutti,
compilo con VC++ 6, il mio problema riguarda come da titolo i temporary objects, che credo siano const per default...ma cercando di verificarlo, ho ottenuto un risultato contrario, ecco il codice:
il codice compila perfettamente, mentre invece non dovrebbe (se i temporaries sono const) per la f()...che prende il riferimento ad un temporary object (quello che contiene il valore di ritorno della funzione anX)...codice:class X{}; X anX(){ return X();} void f(X& x){} void g(const X& x){} void main (){ f(anX()); g(anX()); }
Vorrei sapere se c'è qualcosa di sbagliato...o non so...se c'è qualche opzione di compilazione settata per default in VC++ che pone i temporaries a non-const (sto solo immaginando...)
...magari potreste compilare il codice con un altro compilatore?