Error message: invalid conversion from 'int' to 'char*' [-fpermissive]

@Paul - I actually think the confusion comes from

[color=red]#include <ESP8266WiFi.h>[/color]
#include <SPI.h>
[color=red]#include <WiFi.h>[/color]

if you read the standard WiFi Arduino library:

Syntax

WiFi.begin();
WiFi.begin(ssid);
WiFi.begin(ssid, pass);
WiFi.begin(ssid, keyIndex, key);
Parameters

ssid: the SSID (Service Set Identifier) is the name of the WiFi network you want to connect to.

keyIndex: WEP encrypted networks can hold up to 4 different keys. This identifies which key you are going to use.

key: a hexadecimal string used as a security code for WEP encrypted networks.

pass: WPA encrypted networks use a password in the form of a string for security.

so his version is OK if he were on a standard basic Arduino.

but the compilation error shows he is targeting a Generic ESP8266 Module and unfortunately the begin() function from ESP8266WiFi.h is not the same...

it supports 3 variation

wl_status_t begin(const char* ssid, const char *passphrase = NULL, int32_t channel = 0, const uint8_t* bssid = NULL, bool connect = true);
wl_status_t begin(char* ssid, char *passphrase = NULL, int32_t channel = 0, const uint8_t* bssid = NULL, bool connect = true);
wl_status_t begin();

and I suspect (error is flagging begin(char*, char*, int32_t, const uint8_t*, bool)) that the compiler has decided to match the OP's call with the second one's signature


@Adzzix

Long story short, don't use both WiFi.h and ESP8266WiFi.h, keep the latter --> you have an ESP hardware so just stick to that library and read documentation or the source code to understand the capabilities.