Using 1602A-4 16 pin

I get a no matching function for call to ‘LiquidCrystal_I2C::begin()’

I’m certainly not a programming wiz, beginner actually.

#include <Adafruit_MCP23017.h> //Including MCP23017 port expander and LCD libraries

#include <LiquidCrystal_I2C.h> //can be downloaded from Adafruit

LiquidCrystal_I2C lcd(0x3f, 16, 2); //These two lines create lcd and mcp objects
Adafruit_MCP23017 mcp;const int led1 = 15; //Initializing pin numbers as integers
const int led2 = 14;
const int led3 = 13;
const int led4 = 12;
const int led5 = 11;
const int led6 = 10;
const int led7 = 9;
const int led8 = 8;
const int led9 = 7;
const int led10 = 6;
const int led11 = 5;
const int buttonPin = 3;
const int modePin = 2;
boolean mode = true; //These two booleans are used to change the mode from Cyclone to Reaction,
boolean pass = true; //and to check for early button presses in Reaction mode

int chaseDelay = 100; //This section initializes a bunch of variables used later in the code
int level = 0;
int hiScore = 0;
long reactionTime = 0;
long reactionStart = 0;
long hiReact = 999;
long adjust = 0;
int i = 0;

void setup() { //This block runs only once at the start of the program
Serial.begin(9600); //Begin serial monitor communication
lcd.begin(); //Turn on the LCD screen, and its backlight
lcd.backlight();
pinMode(buttonPin, INPUT); //Setting the button pins as inputs
pinMode(modePin, INPUT);
mcp.begin(); //Begins communication through the MCP23017 port expander
mcp.pinMode(led1, OUTPUT); //Setting the pins associated with the ledX variables to outputs
mcp.pinMode(led2, OUTPUT);
mcp.pinMode(led3, OUTPUT);
mcp.pinMode(led4, OUTPUT);
mcp.pinMode(led5, OUTPUT);
mcp.pinMode(led6, OUTPUT);
mcp.pinMode(led7, OUTPUT);
mcp.pinMode(led8, OUTPUT);
mcp.pinMode(led9, OUTPUT);
mcp.pinMode(led10, OUTPUT);
mcp.pinMode(led11, OUTPUT);
}

depending on the library you are using, it might use init instead of begin

And saying '16 pin' along with 'i2c' makes me wonder

So are you saying that the 1602A-4 LCD screen is not a 16x2 screen? I tried using a init command but Arduino didn't seem to recognize it.

Maybe explain or actually show what screen you’re working with, why your code is using a port expander, where you got that code, and what it is you’re trying to do?

Have you ever gotten the screen working with a simpler code that prints hello world or something?