Loading...
Pages: [1]   Go Down
Author Topic: [Résolu] Méthode/classe amie possible??  (Read 336 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Mon ptit dev s'articule autours de 4 objets.
J'utilise Eclipse à l'aide du plugin de Jan (http://www.baeyens.it) avec les librairies Arduino 1.0 et
WinAVR 20081205 (gcc 4.3.2) livré avec l'EDI Arduino.

Lorsque je définis une "friend" classe ou méthode (le .h donc), pas de soucis, la compilation passe.
Par contre, lorsque j'implémente et essais de faire appel à cette fameuse méthode amie,
le compilateur me répond qu'elle n'est pas définit.

D’où ma question: est-il possible d'utiliser des fonctions ou classes amies dans le cadre d'un dev Arduino?

Merci
« Last Edit: April 14, 2012, 03:13:38 pm by moribond » Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 22
Posts: 1817
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ce code ci marche dans l'IDE 1.0

Quote
class A
{
protected:
  int a;

public:
  A() { a = 1; }
 
  void set( int val ) { a = val; };
  int get( void ) { return a; }

  friend class B;
};

class B
{
protected:
  int b;

public: 
  B() { b = 1; }
 
  void set( int val ) { b = val; };
  int get( void ) { return b; }
 
  void copy( A &_a )
  {
    b = _a.a;
  }
};


void setup( void )
{
  A my_a;
  B my_b;
 
  my_b.copy( my_a );
  Serial.print( "my_b.b =");
  Serial.println( my_b.get() );
}

void loop( void )
{
}
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, je vais regarder ça.
Merci beaucoup
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 4331
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Mon ptit dev s'articule autours de 4 objets.
J'utilise Eclipse à l'aide du plugin de Jan (http://www.baeyens.it) avec les librairies Arduino 1.0 et
WinAVR 20081205 (gcc 4.3.2) livré avec l'EDI Arduino.

Lorsque je définis une "friend" classe ou méthode (le .h donc), pas de soucis, la compilation passe.
Par contre, lorsque j'implémente et essais de faire appel à cette fameuse méthode amie,
le compilateur me répond qu'elle n'est pas définit.

D’où ma question: est-il possible d'utiliser des fonctions ou classes amies dans le cadre d'un dev Arduino?

Oui c'est tout à fait possible, c'est même couramment utilisait dans la classe HardwareSerial d'arduino 1.0.
Tente de remplacer la toolchain winAVR par la version plus récente datant de 2010 ça devrait aider.
Sinon il ce peut que ce soit un bug dans le plugin eclipse.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1]   Go Up
Print
 
Jump to: