Erreur programme c

Bonjour,
Je galere depuis un moment avec une erreur de compilation sur un programme::

#include "udf.h"
#define mu_lam
# define DEFINE_VELOCITY (cell_viscosity, thread)
{
real mu_lam;
real temp = C_T(cell, thread);
if (temp > 288.)
mu_lam = 5.5e-3;
else if (temp > 286.)
mu_lam = 143.2135 - 0.49725 * temp;
else
mu_lam = 1.;
return mu_lam;
}

en la compilant sur code:blocks8.2 j'obtiens l'erreur suivante:

error: expected unqualified-id before '{' token|
||=== Build finished: 1 errors, 0 warnings ===|

sachant que c'est le programme entier, donc pas d'autres boucles avant ou apres...
pouvez vous m'aidez svp...je suis débutante en C merci pour votre réponse d'avance.

2 réponses

  1. Il faudrait que tu déclares ta fonction, je pense que l'erreur vient de là
    #include "udf.h"
    #define mu_lam
    # define DEFINE_VELOCITY (cell_viscosity, thread)
    Function Test{
        real mu_lam;
        real temp = C_T(cell, thread);
    if (temp > 288.)
        mu_lam = 5.5e-3;
        else if (temp > 286.)
            mu_lam = 143.2135 - 0.49725 * temp;
        else
            mu_lam = 1.;
    return mu_lam;
    } 
    
    0
    1. Contributeur
      C'est du C ça ??? on manque de données en particulier udf.h
      Déjà j'approuve ce que dit Youha, des accolades ouvrantes sans nom c'est étrange.
      Mais plus grave :
      "#define mu_lam"
      en faisant ça, tu remplaces toutes les chaînes mu_lam par ... rien 8-(
      ce qui donne :
      {
        real ;
        real temp = C_T(cell, thread);
        if (temp > 288.)
           = 5.5e-3;
        else if (temp > 286.)
          = 143.2135 - 0.49725 * temp;
        else
           = 1.;
        return ;
      } 

      et le compilateur risque de t'envoyer paitre vertement.
      De même, ton #define DEFINE_VELOCITY est étrange. Je me demande si tu as compris le fonctionnement des macros.
      0