2016-03-05 3 views
-5

Я новичок в C++ и мой компилятор (в свободной 5,0) не может скомпилировать этот код: -Преобразование кода из C++ 11 в C++ 98?

#include <iostream> 
#include <map> 
#include <string> 

int main() 
{ 
std::string input = "slowly"; 

std::map<char, int> occurrences; 

for (char character : input) 
{ 
    occurrences[character] += 1; 
} 

for (auto& entry : occurrences) 
{ 
    std::cout << entry.first << '=' << entry.second << std::endl; 
} 
} 

Может кто-нибудь пожалуйста, скажите мне, как заставить его работать в моем компиляторе?

+0

Использование 'станд :: строка :: итератор 'и' std :: map :: iterator' –

+0

Поиск, как итерации по строкам и картам. – juanchopanza

+0

Можете ли вы написать полный код в качестве ответа, пожалуйста, – Dreamer

ответ

1
  • Преобразование диапазона на основе для петлям с использованием итератора
  • Stop с помощью auto и писать его вручную

код:

#include <iostream> 
#include <map> 
#include <string> 

int main() 
{ 
    std::string input = "slowly"; 

    std::map<char, int> occurrences; 

    for (std::string::iterator character = input.begin(); character != input.end(); character++) 
    { 
     occurrences[*character] += 1; 
    } 

    for (std::map<char, int>::iterator entry = occurrences.begin(); entry != occurrences.end(); entry++) 
    { 
     std::cout << entry->first << '=' << entry->second << std::endl; 
    } 
} 
Смежные вопросы