C++ list remove_if编译错误

use*_*521 1 c++ list

我为以下代码获取的错误消息是:

    error C2662: 'DamageNumbers::IsAlive' : cannot convert 'this' pointer from 'const DamageNumbers' to 'DamageNumbers &'
1>          Conversion loses qualifiers
Run Code Online (Sandbox Code Playgroud)

.

bool CheckDamageNumbersAlive(const DamageNumbers& e)
{
    return !e.IsAlive();
}
Run Code Online (Sandbox Code Playgroud)

当IsAlive()为该列表中的对象返回false时,我想从列表中删除对象.

kay*_*kay 6

你的方法

bool DamageNumbers::IsAlive() {...}
Run Code Online (Sandbox Code Playgroud)

应该是const:

bool DamageNumbers::IsAlive() const {...}
Run Code Online (Sandbox Code Playgroud)