以下代码应取消注册存储在向量中的昵称,但是查找功能上的代码错误,我不明白为什么。
该错误表示“从不兼容的类型中分配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;
}
}
答案 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
}
希望这有帮助。