Jump to content
letiti

Warning C4717 e C4715

Recommended Posts

letiti

Boa tarde!

estou a fazer um programa em c++ e nao me da erro nenhum, simplesmente da me dois warning C4715 not all control paths return a value e C4717 recursive on all control paths, function will cause runtime stack overflow! alguem me poderia dar uma ajuda?

Share this post


Link to post
Share on other sites
softklin

Convinha mostrar o código, ou pelo menos as linhas de onde isso acontece. Mas posso dar uma pista para a primeira situação (not all paths return a value). Por exemplo, supõe:

int retornaDobro(int n) {
  if (n < 0) 
     printf ("O valor não é positivo\n");
  else
     return n * 2;

}

Repara que existem dois caminhos/casos: o inteiro é inferior a 0, ou então não é. NO segundo caso, a função retorna o inteiro, mas no primeiro caso, a função apenas imprime uma mensagem e não faz qualquer retorno da função. Isso gera o warning, porque pelo menos um caminho não está a retornar um valor.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Localhost

No segundo caso provavelmente estás a fazer muitas chamadas recursivas que vai fazer com que a stack "encha" e consequentemente, venha o stack overflow.


here since 2009

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.