Ho bisogno di memorizzare stringhe nel formato valore chiave. Quindi sto usando la mappa come di seguito.map <string, string> come inserire i dati in questa mappa?
#include<map>
using namespace std;
int main()
{
map<string, string> m;
string s1 = "1";
string v1 = "A";
m.insert(pair<string, string>(s1, v1)); //Error
}
sono sempre sotto l'errore alla linea inserto
errore C2784: 'bool std :: operator < (std :: const _ Albero < _Traits> &, std :: const _ Albero < _Traits> &)': non poteva dedurre argomento di template per 'std :: const _ Albero < _Traits> &' da 'const std :: string'
Ho provato anche la funzione make_pair come sotto, ma anche questo riporta lo stesso errore.
m.insert(make_pair(s1, v1));
Pls fatemi sapere cosa c'è che non va e qual è la soluzione per il problema di cui sopra. Dopo aver risolto problema di cui sopra, posso usare come qui sotto per recuperare il valore in base a chiave
m.find(s1);
Questo ha reso il codice compilato. Ma mi chiedo perché non ha dato errore quando ho detto stringa s1 = "1"; Solo dopo aver chiamato inserisci dà errore. – bjskishore123
@ bjskishore123: Forse hai un'altra classe il cui nome è 'stringa' che in qualche modo si scontra con' std :: string'? – ereOn
@ereOn - o forse non è l'unico errore del compilatore –