Come sbarazzarsi dell'avviso di deprecazione di g++ hash_map?
-
05-09-2019 - |
Domanda
Quando compilo un'applicazione C++ che sto scrivendo che fa uso di hash_map, ricevo questo avviso su g++ 4.3.2:
Stai utilizzando l'intestazione obsoleta .Per eliminare questo avviso, utilizzare un file di intestazione standard ANSI o utilizzare il flag del compilatore hte -Wno-deprecato.
9> #include <ext/hash_map>
Cosa include lo sostituisce?Ho cercato per un po' su Google e non sono riuscito a trovare nulla tranne persone che hanno problemi simili, ma nessuna soluzione.
Soluzione
Il mio primo Google ha colpito per " g ++ hash_map deprecato " mi porta a un pagina che include un elenco di cose da usare al posto delle intestazioni e delle classi deprecate.
Per hash_map
, l'elenco suggerisce utilizzando unordered_map
, nell'intestazione unordered_map
. La classe è stata introdotta per la TR1 .
Altri suggerimenti
Credo che tale nuova struttura di dati si chiama unordered_map
<tr1/unordered_map>
trovato nel namespace std::tr1
.
Quando includi , non dimenticare di aggiungere la seguente opzione del compilatore;"-std=c++0x", altrimenti il compilatore segnalerà un errore