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:

codice:
class X{};
X anX(){ return X();}

void f(X& x){}
void g(const X& x){}

void main (){
	f(anX());
	g(anX());
}
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)...
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?