Wenn ich einen Iterator eines Containers dereferenzieren (z. B. *v.begin()
), bekomme ich immer einen Verweis auf den enthaltenen Typ. Und dann kann ich decltype
nicht verwenden, um einen anderen Container zu initialisieren.Mit Dekletyp zu initialisieren Container
int main()
{
vector<int> a;
vector<decltype(*a.begin())> b;
return 0;
}
Wie löse ich das?
Verwenden Sie 'std :: remove_reference'. Schlag es nach. –
'std :: Vektor b;' –
Snps