C ++函数声明错误;未声明的标识符

时间:2015-08-21 10:37:51

标签: xcode function xcode6

背景: 通过Bjarne Stroustrup,编程原理和实践使用C ++,第2版。我正在试试这个4.6.4。我一直坚持这方面的各个方面,例如排序和向量不像txt书中那样工作:

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

我的系统: xcode 6.3.2 C ++标准库 - libc ++(支持C ++ 11的LLVM C ++标准库)

  #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出现为未声明的标识符。当我删除main中的所有代码并直接调用check_word时,仍然会发生这种情况。

注意:当我输入check_word时,自动提示/填充功能会检测到该功能。

1 个答案:

答案 0 :(得分:0)

您必须在使用之前声明check_word。