Megosztás a következőn keresztül:


C2891 fordítási hiba

"paraméter" : nem vehető át egy sablonparaméter címe

Megjegyzések

A sablonparaméter címét nem veheti fel, hacsak az nem egy lvalue. A típusparaméterek nem lvaluesek, mert nem rendelkeznek címmel. A sablonparaméter-listákban szereplő, nem típusértékek, amelyek nem lvalue típusúak, szintén nem rendelkeznek címmel.

Example

Ez egy példa a C2891 fordítói hibát okozó kódra, mivel a sablonparaméterként átadott érték a sablonargumentum fordító által létrehozott másolata.

template <int i> int* f() { return &i; }

Az lvalues sablonparaméterek, például a referenciatípusok, a címüket is tartalmazhatják.

template <int& r> int* f() { return &r; }

A hiba kijavításához ne vegye a sablonparaméter címét, kivéve, ha az l-érték.