C++建议使用圆括号将赋值用作真值 [英] C++ suggest parentheses around assignment used as truth value
本文介绍了C++建议使用圆括号将赋值用作真值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的这部分代码有一些问题:
Employees.cpp:
void Employees::delete_employee()
{
int employee_number;
cout<<"
..."<<endl<<endl;
cout<<"Give me the number:";
cin>>Employee_number;
for(std::vector<EmployeeStruct>::size_type i = 0; i != lista.size(); i++)
{
if (employee_number = lista[i].Employee_number)
{
lista.erase(lista.begin() + i);
}
}
cout<<"..."<<endl<<endl;
cout<<"--------------------------------"<<endl;
}
当我编译我的代码时,我看到一些类似的东西:警告:建议将用作真值的赋值括在圆括号中,但我真的不知道如何处理它。也许这不是一个严重的问题,但我的程序并不像我想的那样工作。(此代码应删除员工)
在main.cpp我有:
case 4:
{
Pracownicy p;
p.usun_pracownika();
}
break;
也许有人能帮我。
推荐答案
我真的不知道该怎么办。
这取决于您打算做什么。
如果您不打算赋值,而是比较相等,则应该修复代码以使用相等运算符:==
您的代码中还有另一个错误。擦除会将其余元素移位到左侧。下一个元素不再位于i++
,因此您在擦除之后将跳过元素。如果擦除一个以上的元素,这也是低效的。有关更好的方法,请参阅erase-remove idiom。
这篇关于C++建议使用圆括号将赋值用作真值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文