La expresión debe ser un lvalor modificable.

Tengo este siguiente código:

int M = 3; 
int C = 5; 
int match = 3;
for ( int k =0; k < C; k ++ )
{
    match --; 
    if ( match == 0 && k = M )
    {
         std::cout << " equals" << std::endl;
    }
}

Pero da un error diciendo:

Error: la expresión debe ser un valor modificable

en esa línea "si". No estoy intentando modificar el valor de "coincidencia" o "k" aquí, pero ¿por qué este error? si solo lo escribo como

if ( match == 0 )

está bien. ¿Podría alguien explicármelo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta