Aviso do compilador (nível 1) C4172
retornando o endereço da variável local ou temporário
Uma função retorna o endereço de uma variável local ou objeto temporário. Variáveis locais e objetos temporários são destruídos quando uma função retorna, portanto, o endereço retornado não é válido.
Reprojete a função para que ela não retorne o endereço de um objeto local.
O seguinte exemplo gera o erro C4172:
// C4172.cpp
// compile with: /W1 /LD
float f = 10;
const double& bar() {
// try the following line instead
// const float& bar() {
return f; // C4172
}