2015-08-21 3 views
0

background: Работа через Bjarne Stroustrup, Принципы и практика использования с использованием C++, 2nd Edition. Я нахожусь в этом 4.6.4. Я застрял на этом для различных аспектов, например. сортировать и вектор не работает, как в текстовый книги:Ошибка объявления функции C++; необъявленный идентификатор

sort() 
vector<string> bad_word_list = {"buck", "Buck", "idiot"}; 

моя система: Xcode 6.3.2 C++ стандартная библиотека - LibC++ (LLVM C++ Стандартная библиотека с поддержкой C++ 11)

#include "std_lib_facilities.h" 
int main() 
{ 
vector<string> words; 
for (string temp; cin>>temp;) { 
    words.push_back(temp); 
    cout << "Number of words: "<<words.size()<<'\n'; 
} 
sort(words.begin(), words.end()); 

for (int i=0; i<words.size(); ++i) { 
    int bad_word; 
    bad_word = check_word(words[i]); // <---- 
    if (bad_word == 1) { 
     cout << "BEEP"; 
    } else 
     cout << words[i] << '\n'; 
} 


return 0; 
} 

int check_word(string x) 
{ 
vector<string> bad_word_list; 
bad_word_list.push_back("duck"); 
for (int i=0; i<bad_word_list.size(); ++i) { 
    if (x == bad_word_list[i]) { 
     return 1; 
    } 

} 
return 0; 
} 

Текущая проблема: check_word возникает как незаявленный идентификатор. Это все еще происходит, когда я удаляю весь код внутри основного и напрямую вызываю check_word.

примечание: когда я набираю check_word, автоматический запрос/наполнитель определяет функцию.

+0

сейчас, и это сработало. Это простой материал, который действительно замедляет меня (вот так). Приветствия. –

ответ

0

Вы должны объявить check_word, прежде чем использовать его.

Смежные вопросы