Was bedeutet "invalid initialization of non-const reference" gemeint?

Beim kompilieren dieses Codes bekomme ich die folgende Fehler:

In function 'int main()':
Zeile 11: error: invalid initialization of non-const reference of type 'Main&' von einer vorübergehenden vom Typ 'Main'

Hier ist mein code:

template <class T>
struct Main
{
    static Main tempFunction(){
       return Main();
    }
};

int main()
{
   Main<int> &mainReference = Main<int>::tempFunction(); //<- line 11
}

Verstehe ich nicht, warum? Kann das jemand erklären?

  • Was ist der Fehler
  • Poste bitte die exakten Fehlermeldungen vom compiler.
  • Ihre Vorlage Erklärung hängt nicht von der parametrisierten Klasse.
  • Matthews: ja, aber Fehler ist nicht, weil die.
  • "gibt einige Fehler"? Sie gewinnen die MEISTEN vage Aussage award! Was für Fehler? Welche Linie? Welchen compiler?
InformationsquelleAutor Donald | 2010-09-15
Schreibe einen Kommentar