Nie. Niektóre kompilatory mogą znaleźć problemy za mnie, więc pozwolę sobię pomóc:
<source>:21:44: warning: initializing pointer member 'liczbaCukierkow' with the stack address of parameter 'liczba' [-Wdangling-field]
kolorCukierka(kolor), liczbaCukierkow(&liczba)
^~~~~~
Przypisujesz do `liczbaCukierkow` wskaźnik na zmienną tymczasową. Nie ma to wiele sensu. (W zadaniu nie chodzi aby o to, by ta klasa trzymała jakąś zmienną zaalokowaną dynamicznie pod tym adresem?)
<source>:23:25: warning: assigning field to itself [-Wself-assign-field]
this->kolorCukierka = kolorCukierka;
^
<source>:24:27: warning: assigning field to itself [-Wself-assign-field]
this->liczbaCukierkow = liczbaCukierkow;
^
Przipisujesz pole do samego siebie. Nie wiem czemu. W końcu linię wyżej już ustawiłeś wartości zmiennych.