Si hai ragione scusami ho provato a scrivere questo :

codice:
map<string,int> aparicionesString(vector <string> & v){

    map<string,int> n;
    std::map<string,int>::iterator it;

    for (int j = 0; j<v.size(); j++){

        map<string,int> temp;
        temp = n.find(v[j]);
        int count=0;
        if (temp.empty()){
            count++;
            pair<string, int> elem1 = {v[j],count};
            n.insert(elem1);
        }
        else
ma è incompleto e sbagliato... per di più non ho ancora ben capito la differenza tra le funzioni find e count per la ricerca in una mappa...