Los objetos temporales no se pueden enlazar a referencias no const
Actualización: noviembre 2007
En versiones anteriores de Visual C++, las referencias no const se podían enlazar a objetos temporales. Ahora, los objetos temporales sólo se pueden enlazar a referencias const.
Ejemplo
Por ejemplo, el siguiente código presenta un comportamiento diferente en tiempo de ejecución en Visual Studio .NET 2003 y en Visual Studio .NET:
// bc_temp_objects_not_bound_to_nonconst_ref.cpp
// compile with: /EHsc
#include "iostream"
using namespace std;
class C {};
void f(C & c) { cout << "C&" << endl; }
void f(C const & c) { cout << "C const &" << endl; }
int main() {
f(C());
}
C const &