IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Pb syntaxe global


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Par défaut Pb syntaxe global
    bonsoir,

    j'ai encore un pb dont je trouve pas la solution

    c++ builder n'aime pas cette syntaxe pour les globals

    Point base[3];
    Point platform[3];

    code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
     
    class Point {
    public:
       float x,y,z;
     
      Point(float xx=0,float yy=0,float zz=0) { x=xx; y=yy; z=zz; }
     
     
     
     Point(const Point & b){
      x=b.x;
      y=b.y;
      z=b.z;
    }
     
    };
     
     
     
     
     
    //------------------------------------------------------------------------------
    // CONSTANTS
    //------------------------------------------------------------------------------
     
    #define WINCH_HEIGHT (50.0)
     
    #define BASE_RADIUS (100.0)
     
    // the platform must always be smaller than the base
    #define PLATFORM_RADIUS (50.0)
    //const double PI=3.14159
    #define PI (3.14159)
    //------------------------------------------------------------------------------
    // GLOBALS
    //------------------------------------------------------------------------------
     
     
    Point base[3];
    Point platform[3];
     
     
    //------------------------------------------------------------------------------
    // METHODS
    //------------------------------------------------------------------------------
     
     
     
     
    /**
     * Initializes the globals
     */
    void setup() {
        int i;
    	for(i=0;i<3;++i) {
            base[i].x=sin(i*PI*2.0/3.0)*BASE_RADIUS;
    		base[i].y=cos(i*PI*2.0/3.0)*BASE_RADIUS;
            base[i].z=WINCH_HEIGHT;
     
            platform[i].x=sin(i*PI*2.0/3.0)*PLATFORM_RADIUS;
    		platform[i].y=cos(i*PI*2.0/3.0)*PLATFORM_RADIUS;
            platform[i].z=0;
    	}
    }
    merci
    patrice

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 081
    Par défaut
    Les globales c'est moche !
    Si tes variables ne sont utilisés que dans une fonction, mets les en local
    Si tes variables sont utilisés ailleurs, rien n'empêche de les passer en paramètre aux fonctions devant les manipuler ou alors encapsuler cela en static member ou dans un singleton


    setup pourrait être une méthode classe contenant base et platform



    Sinon Point est une fonction de C++Builder

    deux solutions

    Soit tu préfixes avec le namespace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonUnitH::Point base[3];
    MonUnitH::Point platform[3];
    MonUnit correspond au nom de l'unité
    MonUnitH est généralement le define au début du Header de l'Unité


    Soit Point devient CPoint

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    class CPoint {
    public:
       float x,y,z;
     
      CPoint(float xx=0,float yy=0,float zz=0) { x=xx; y=yy; z=zz; }
     
     
     
     CPoint(const CPoint & b){
      x=b.x;
      y=b.y;
      z=b.z;
    }
     
    };
     
    CPoint base[3];
    CPoint platform[3];
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Inactif
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Par défaut C'est la solution
    merci, effectivement le problème venait du fait que Point est une fonction CPoint fonctionne

    merci pour l'aide, j'apprécie. et je suis confus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Syntaxe variable globale
    Par algeriano.29 dans le forum Images
    Réponses: 2
    Dernier message: 29/09/2011, 17h00
  2. Syntaxe variables globales
    Par jroman dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2011, 17h23
  3. Variables, syntaxe @@, @, global, et session ?
    Par BobLunique dans le forum MySQL
    Réponses: 4
    Dernier message: 16/07/2008, 15h47
  4. Réponses: 1
    Dernier message: 19/06/2007, 23h28
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo