error: expected ';', ',' or ')' before '&' token

How about:

typedef struct {
  int pin;
  int color;
  int state;
  
  boolean dirty;
  
  struct PWM pwm;  
} Channel;

void initChannel(Channel &chan);   //error here, too
void updateChannel(Channel &chan);  //and again...