Domanda Errore mappa STL: nessun modello denominato 'mappa' nello spazio dei nomi 'std'; intendevi "max"?


Sto lavorando su un'applicazione che tiene traccia della frequenza delle lettere in una stringa. Per fare questo ho creato il seguente Struct

struct MessageLetter{
  char letter;
  int count;
  MessageLetter(char letter, int freq)
  : letter(letter), count(freq)
  {}
};

Ora sto cercando di creare una stl :: map come segue ...

  std::map<std::string, MessageLetter> lList;
  for(int i = 0; i < output.length(); i++){
    std::cout << i << output[i] << std::endl;
    if(lList.find(output[i]) == lList.end()){
      std::cout << "Letter not found" << std::endl;
      MessageLetter m = {output[i],1};
      lList[output[i]] = m;
    }
    else{
      std::cout << "Letter found" << std::endl;
    }
  }

Quando provo a compilare questo ottengo il seguente ...

test.cpp:95:8: error: no template named 'map' in namespace 'std'; did you mean 'max'?
  std::map<std::string, MessageLetter> lList;

Sono nuovo di c ++ quindi qualsiasi guida sarebbe grande. E se questo è un duplicato sarò felice di rimuovere. Eventuali altre informazioni (versione C ++, ecc.) Saranno fornite se necessario. Questa sarà alla fine un'app Android nativa.


12
2017-12-14 16:03


origine


risposte:


#include <map>

Problema risolto.


35
2017-12-14 16:05