konstante Referenzen mit typedef und Templates in c ++

Ich habe gehört, dass die temporären Objekte nur konstanten Referenzen zugeordnet werden können.

Aber dieser Code gibt Fehler

#include <iostream.h>    
template<class t>
t const& check(){
  return t(); //return a temporary object
}    
int main(int argc, char** argv){

const int &resCheck = check<int>(); /* fine */
typedef int& ref;
const ref error = check<int>(); / *error */
return 0;
}

Der Fehler, der erhalten wird, istinvalid initialization of reference of type 'int&' from expression of type 'const int'

Antworten auf die Frage(10)

Ihre Antwort auf die Frage