[C++ Builder] Problème avec une fonction

diablo69 Messages postés 17 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous !

J'ai un devoir à faire en programmation, et je dois faire une fonction, avec laquelle je dois réussir a dessiner un Rond, pouvoir definir sa position dans la Form en X et Y, et pouvoir choisir aussi son rayon.

J'ai mis le code suivant la le ".h":

void DrawBall(int PosX, int PosY, int Rayon);

Dans le ".cpp" j'ai mis ca:

//---------------------------------------------------------------------------
TfmMain::DrawBall(int PosX, int PosY, int Rayon)
{

}
//---------------------------------------------------------------------------

Rien qu'avec ça, je n'arrive déjà plus a compiler mon programme. Le message suivant m'apparaît:
E2316 'TfmMain::DrawBall(int,int,int)' n'est pas un membre de 'TfmMain'.

Où peut être l'origine de ce problème?

Merci et Bonne soirée !

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Il faut que dans la déclaration de la classe TfmMain tu déclares la méthode DrawBall :

    plop.hpp
    class TfmMain{
      public:
      TfmMain(){}
      void DrawBall(int PosX, int PosY, int Rayon);
    }

    plop.cpp
    #include "plop.hpp"
    
    void TfmMain::TfmMain(int PosX, int PosY, int Rayon){
      // ...
    }

    Remarque : Attention aux majuscules. En java et en QT la première est une lettre majuscule si et seulement si le nom concerne une classe. Exemple :
    int maFonction(){
      return 0;
    }
    
    class MaClasse{
      public:
      MaClasse(){}
    };

    Souvent en C++ on écrit carrément tout en minuscule et avec des _ :
    int ma_fonction(){
      return 0;
    }
    
    class ma_classe{
      public:
      ma_classe(){}
    };

    Bonne chance
    0