編譯器錯誤 C2891
'parameter' : 無法取得範本參數的位址
除非範本參數是左值,否則您無法取得範本參數的位址。 類型參數不是左值,因為它們沒有位址。 不是左值之範本參數清單中的非類型值也不具有位址。 這是導致編譯程式錯誤 C2891 的程式代碼範例,因為當樣板參數傳遞的值是範本自變數的編譯程式產生的複本。
template <int i> int* f() { return &i; }
做為左值的範本參數,例如參考型別,可以取得其位址。
template <int& r> int* f() { return &r; }
若要更正此錯誤,除非範本參數是左值,否則請勿採用範本參數的位址。