Invalid conversion when making a function that passes parameters to digitalWrite

From Arduino/pins_arduino.h at 2.3.0 · esp8266/Arduino · GitHub

static const uint8_t D0   = 16;
static const uint8_t D1   = 5;
static const uint8_t D2   = 4;
static const uint8_t D3   = 0;
static const uint8_t D4   = 2;
static const uint8_t D5   = 14;
static const uint8_t D6   = 12;
static const uint8_t D7   = 13;
static const uint8_t D8 = 15;

From Arduino/common.h at 2.3.0 · esp8266/Arduino · GitHub

static const uint8_t A0 = 17;

As for A1 and A2, the ESP8266 doesn't have those pins but you will find them defined in the variant files for boards that do have them. For example, the variant used by the Arduino Uno Arduino/pins_arduino.h at 1.8.4 · arduino/Arduino · GitHub

#define PIN_A0   (14)
#define PIN_A1   (15)
#define PIN_A2   (16)
#define PIN_A3   (17)
#define PIN_A4   (18)
#define PIN_A5   (19)
#define PIN_A6   (20)
#define PIN_A7   (21)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;