Librarie selbst erstellen Problem

Dein Code dürfte nicht kompilieren.

  if (number==1)
  {
    digitalWrite(g,HIGH);
    digitalWrite(g2,HIGH);
  }

g und g2 sind hier nicht definiert. Du wolltest wahrscheinlich _g und _g2 nehmen.

void Display(int number);

aber

SegmentDisplay.Display('1');

Einmal definierst Du den Parameter als Integer und übergibst der Methode dann einen Character. Auch hier wird der Compiler Fehler ausspucken.

SegmentDisplay (a,b,c,d,e,f,g,a2,b2,c2,d2,e2,f2,g2);

Das sollte wahrscheinlich eine Objekt-Erzeugung werden, aber das Objekt hat keinen Namen. Der Code sollte eher so aussehen:

SegmentDisplay ssd(a,b,c,d,e,f,g,a2,b2,c2,d2,e2,f2,g2);
void setup(){
  ssd.Display('1');
}

Hier fehlt das Semikolon:

int array[]={a,b,c,d,e,f,g,a2,b2,c2,d2,e2,f2,g2}

Das macht wenig Sinn:

#ifndef SegmentDisplay_h
#define SegmentDisplay

Damit dürfte der Code kompilieren (sprich: das sind Fehler die der Compiler auch findet, dafür bräuchtest Du das Forum nicht zu bemühen), auch wenn der Code noch nicht viel Vernünftiges produziert.