static methods with arguments, in libraries

Hi, I found some help in this other post talking about static methods in libraries, but the example does not use any arguments. When I do :

#ifndef Sequence_h
#define Sequence_h
#include "Arduino.h"

class Sequence
{
  public:
    static void light(unsigned long color);
};

I got this error message :

error: initializing argument 1 of 'static void Sequence::light(long unsigned int)' [-fpermissive]

nothing special in my cpp, I have something like this :

#include "Arduino.h"
#include "Sequence.h"
void Sequence::light (unsigned long value) {}

anything obvious ? I'm from Java and quite struggling here ^^

nothing special in my cpp, I have something like this

We'll need exactly what is in the cpp, not something similar. Also the sketch.

From what you have posted, it looks more like an error related to how you are using the function, rather than the implementation (as the error mentions initialization).

The method is declared as being static in your .h, but not in your .cpp .

The reason it's complaining about argument 1 is that all class methods have a hidden first argument: a reference to the instance they are being executed against.

Put the static in your cpp, see if that fixes it.