Não consigo resolver este erro !

sketch_jan03a:56: error: a function-definition is not allowed here before '{' token
sketch_jan03a:303: error: expected '}' at end of input
a function-definition is not allowed here before '{' token

Exibições: 4857

Responder esta

Respostas a este tópico

Oi H, boa noite.

Post o seu code.

Mas post ou nos www.pastbin.com ou aqui na forma de arquivo anexado.

Rui

Fale Rui

É possível debugar essa imagem?

Acho que daria para usar switch-case.

Oi FH, bom dia.

Acho que dá sim.

Mas como falta o resto do code, fica difícil.

Não sei porque o amigo não postou o code todo em arquivo anexado.

Facilitaria a ajuda.

Tenha um bom sábado.

Rui

int velocidade(int velocidade)


{ if (velocidade == 1) {
return 25;

} else if (velocidade == 2) {
return 50;
} else if (velocidade == 3) {
return 100;
} else if (velocidade == 4) {
return 150;
} else if (velocidade == 5) {
return 250;
} else if (velocidade == 6) {
return 500;
} else if (velocidade == 7) {
return 1000;
} else if (velocidade == 8) {
return 1200;
} else if (velocidade == 9) {
return 1450;
} else if (velocidade == 10) {
return 1600;
} else if (velocidade == 11) {
return 1800;
} else if (velocidade == 12) {
return 2000;
} else {
return 500:
}

sketch_jan03a:55: error: a function-definition is not allowed here before '{' token

Como faço para tirar este erro !

Boa noite !

Nesse trecho está faltando uma chave, para fechar a função

Ou tem uma chave a mais....

Retire a primeira chave que está antes do if na primeira linha do código que vc enviou.

{ if (velocidade == 1) {
...

...

troque por:

if (velocidade ==1) {

...

...

Mas se esse código for uma função, faça como o Flaviio sugere, feche o bloco no final com "}"

O erro apontado pelo compilador:

sketch_jan03a:56: error: a function-definition is not allowed here before '{' token
sketch_jan03a:303: error: expected '}' at end of input

Sugere a correção:

a linha 56 deve ser a linha:

{ if (velocidade == 1) {

a linha 303 deve ser a última linha de seu sketch.

Você está pedindo à IDE do Arduino numerar as linhas do sketch ? Faça isso, vai ajuda-lo.

Agora que eu vi... não tinha aparecido o inicio do código na minha tela. É uma função:

int velocidade(int velocidade)

Dica: Nunca use para uma função o mesmo nome da variável; para o compilador, funções são variáveis. E supondo que o compilador aceite, não é boa prática de programação.

Faça assim então:

int trocaVelocidade(int velocidade) {

ou

int trocaVelocidade(int velocidade)

{

e feche a função com "}" conforme o Flavio já tinha sugerido:

   return 500:

   }

}

Acostume-se também a indentar seu código:

int trocaVelocidade (int velocidade) {

    if (velocidade == 1)

        return 25;   //não precisa usar { } para uma única instrução

    else if (velocidade == 2)

        return 50;

    .....

    .....

    return (500)

    }

}

Cabe um switch / case nessa função... é menos eficiente que bloco if / else mas é mais elegante.

Estou com um problema, em partes, semelhante ao dele.

" void LerDados (WiFiClient novoCliente){ "

aparece o seguinte erro: 

"error: a function-definition is not allowed here before '{' token"

Bom dia CK,

no sue code existe uma função assim:  " void LerDados (WiFiClient novoCliente){ "

Não pode ter espaços entre os parâmetros da função.

Corrija com virgula :  " void LerDados (WiFiClient , novoCliente){ "

Rui

Oi Rui,

Essa é uma definição de função; WiFiClient é o tipo do argumento "novoCliente".

O erro é outro.

Envie o código completo Ciros.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço