Hirdetés

Új hozzászólás Aktív témák

  • Janos250

    őstag

    Boldog új évet mindenkinek!
    Ha már felébredtetek, és a részegség után megettétek a káposztás korhelylevest, akkor segítsen, aki tud:
    Mi a csuda a hiba, hogy egyparaméteres esetekben hibát ad, több paraméter esetén nem. A hiba szisztematikus, más programban is ugyanezt csinálja

    hiba.ino:

    #include <Arduino.h>
    #include "hiba.h"
    hiba instance1(0 ) ;
    hiba instance2(0,0 ) ;
    void setup() {
    }  // end setup
    void loop() {
    } ;  // end loop

    hiba.h:

    #ifndef hiba_h_
    #define hiba_h_
    class hiba
    {
      public:
        static  uint8_t instanceCounter  ;
        hiba (uint8_t  par1, uint8_t par2 )  ;
        hiba (uint8_t  par3)  ;
    };  // end hiba
    #endif

    hiba.cpp:

    #include <Arduino.h>
    #include "hiba.h"
    hiba::hiba (uint8_t  par1, uint8_t par2 ) 
    {
     instanceCounter ++ ;  
    }  ;
      
    hiba::hiba (uint8_t  par3)
    {
    // instanceCounter ++ ;  
    /*
     ha az instanceCounter ++ -t benne hagyom az egyparaméteresben,
     akkor az alábbi hibát dobja.
     Kétparaméteresben nem ad hibát.
    Ez egy leegyszerűsített változata egy programnak, ahol ugyanígy
     nem engedte egyparaméteres konstruktorban a static változót, 
     több paraméteresben igen.
     ....sketch\hiba.cpp.o:(.literal._ZN4hibaC2Eh+0x0): 
     undefined reference to `hiba::instanceCounter'
    collect2.exe: error: ld returned 1 exit status 
     */
          
    }  ;  
      

Új hozzászólás Aktív témák