Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

326
Visualizações
¿Por qué no puedo mutar una referencia constante capturada por valor?

Echa un vistazo a este fragmento de código:

 int x = 3; const int &y= x; auto f = [y]() mutable{ y = 0; };

clangs da error:

 > clang++-7 -pthread -std=c++17 -o main main.cpp main.cpp:13:7: error: cannot assign to a variable captured by copy in a non-mutable lambda y = 0; ~ ^ 1 error generated.

Funciona si es capturado por [y=y] .

¿Por qué es este comportamiento? ¿Es ese tipo de deducción del compilador como const int? Si es así, ¿por qué clang da error sobre lambda no mutable?

[actualizar]
Parece que la primera parte de la pregunta ya tiene una respuesta, como lo señalaron otros: la captura de lambda por valor mutable no funciona con const &?
La información de error de clang parece ser un error que no se analiza en esa pregunta. ¿Debería eliminar la pregunta?

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda