搜索向量时,查找函数将无法编译

时间:2014-07-22 09:03:41

标签: c++ vector

以下代码应取消注册存储在向量中的昵称,但是查找功能上的代码错误,我不明白为什么。

该错误表示“从不兼容的类型中分配int”'但我不知道如何通过不同的路线获得矢量元素的位置。

if (userinput == "/unregister" && isAdmin == true) {
  cout << "Please enter the nickname to be unregistered.\n";
  cin >> newnick;
  if (isRegisteredUName(newnick) == true) {
    unamepos = find(unamevec.begin(), unamevec.end(), newnick)
    cout << "DEBUG: " << unamepos << endl;
  }
}

1 个答案:

答案 0 :(得分:0)

更改此行

unamepos = find(unamevec.begin(), unamevec.end(), newnick)

unamepos = find(unamevec.begin(), unamevec.end(), newnick);

这应该有效。此外,我添加了一个示例代码,可以在我的环境中编译和工作

如果向量是整数类型 -

vector<int> checker;
std::vector<int>::iterator it;

it = find(checker.begin(), checker.end(),100);

如果向量是字符串类型

vector<string> checker;

if(find(checker.begin(), checker.end(),"ab") != checker.end())
{
  //Do your task here
}

希望这有帮助。