cannot convert 'String' to 'int' in return

What the problem with my coding why the data cannot convert?

// Process.h gives us access to the Process class, which lets
// us communicate with the shell
#include "rgb_lcd.h"
#include <Bridge.h>
#include <Process.h>
#include <TH02_dev.h>

#define SENSOR_COUNT (5)

typedef int (*pgetSensorValue)(void);

int getTemp();
int getHumi();
int getLight();
int getUV();
int getPIR();

rgb_lcd lcd;

const int numRows = 2;
const int numCols = 16;

const int LightIndex = 1;
const int UVIndex = 2;
const int THIndex = 3;

const int pinLight = A2;
const int pinUV = A3;
const int pinPIR = 7;

String SerialVarList1[] = { "Temperature", "Humidity", "Light", "UltraViolet", "PIR"};
enum SENSOR {TEMPER=0,HUMI,LIGHT,UV,PIR};

pgetSensorValue getSensorValueList[]={
  getTemp, 
  getHumi, 
  getLight, 
  getUV, 
  getPIR, 
};

String SensorValue[SENSOR_COUNT];

////////////////////////////
// Initial State Streamer //
////////////////////////////
// URL to IS Bucket API
String ISBucketURL = "https://groker.initialstate.com/api/buckets";
// URL to IS Event API
String ISEventURL = "https://groker.initialstate.com/api/events";
// Access key (the one you find in your account settings):
String accessKey = "TOpYrkDkVDXSxfmOqOievJTZXOt65QCP";
// Bucket key (hidden reference to your bucket that allows appending):
String bucketKey = "R6AFVY58848W";
// Bucket name (name your data will be associated with in Initial State):
String bucketName = "Home Monitoring";
// How many signals are in your stream? You can have as few or as many as you want
const int NUM_SIGNALS = 6;
// What are the names of your signals (i.e. "Temperature", "Humidity", etc.)
String signalName[NUM_SIGNALS] = {":sweat_drops: Humidity", ":sunny: Temperature", ":fire: Heat Index", ":bulb: Light", ":wave: Motion", ":bangbang: How Am I Feeling?"};
// This array is to store our signal data later
String signalData[NUM_SIGNALS];


void printSettings(void){
    Serial.println("The Sensors Value as follow:");
  for(int i=0; i<SENSOR_COUNT;i++){
    Serial.print(SerialVarList1[i]);
    Serial.print(" = ");
    Serial.println(getSensorValueList[i]());   
  }
}


// This only runs once at the very beginning
void setup() 
{
  Bridge.begin();
  Serial.begin(9600);
   lcd.begin(16, 2);  
   
  printSettings();

  while (!Serial);
    // Post Bucket
    Serial.println("Posting Bucket!");
    // The postBucket() function creates a bucket 
    // (unnecessary if the bucket already exists)
    postBucket();
}




// Here are the data bucket creation and posting functions
// They do not need to be edited - everything you would need to change for 
// your situation can be found above

//get Temperature Senso value
int getTemp(){
  int temper =(int) TH02.ReadTemperature();
  SensorValue[TEMPER] = temper;
  return temper;
}

//get Humidity Senso value
int getHumi(){
  int humidity =(int)TH02.ReadHumidity();
  SensorValue[HUMI] = humidity;
  return humidity;
}

//get Grove-Light Sensor value
int getLight(){
  return (SensorValue[LIGHT] = analogRead(pinLight));
}
//get Grove-UV Sensor value
int getUV(){
  return (SensorValue[UV] = analogRead(pinUV));
}

//Grove PIR Motion Sensor
int getPIR(){
  return (SensorValue[PIR] = digitalRead(pinPIR));
}


// This repeats
void loop()
{  
  // Wait 2 seconds for the sensors to initialize
  delay(2000);

  // Gather Data
  
  getTemp();
  getHumi();
  getLight(); 
  getUV(); 
  getPIR();
 
  //signalData[0] = String (getTemp);
  //signalData[1] = String (HUMI);
  //signalData[2] = String (LIGHT); 
  //signalData[3] = String (UV); 
  //signalData[4] = String (PIR);
  
  // Post Data
  Serial.println("Posting Data!");
  // The postData() function streams our events
  postData(); 
  // Wait for 41 seconds before collecting and sending the next batch
  // This makes total time between values 1 minute
  delay(41000);

  

}


void postBucket()
{
  // Initialize the process
  Process isbucket;

  isbucket.begin("curl");
  isbucket.addParameter("-k");
  isbucket.addParameter("-v");
  isbucket.addParameter("-X");
  isbucket.addParameter("POST");
  isbucket.addParameter("-H");
  isbucket.addParameter("Content-Type:application/json");
  isbucket.addParameter("-H");
  isbucket.addParameter("Accept-Version:0.0.1");

  // IS Access Key Header
  isbucket.addParameter("-H");
  isbucket.addParameter("X-IS-AccessKey:" + accessKey);

  // IS Bucket Key Header
  isbucket.addParameter("-d");
  isbucket.addParameter("{\"bucketKey\": \"" + bucketKey + "\", \"bucketName\": \"" + bucketName + "\"}");
  
  isbucket.addParameter("https://groker.initialstate.com/api/buckets");
  
  // Run the process
  isbucket.run();

  Serial.flush();
}

void postData()
{
  for (int i=0; i<NUM_SIGNALS; i++)
  {
    // Initialize the process
    Process isstreamer;
    
    isstreamer.begin("curl");
    isstreamer.addParameter("-k");
    isstreamer.addParameter("-v");
    isstreamer.addParameter("-X");
    isstreamer.addParameter("POST");
    isstreamer.addParameter("-H");
    isstreamer.addParameter("Content-Type:application/json");
    isstreamer.addParameter("-H");
    isstreamer.addParameter("Accept-Version:0.0.1");

    // IS Access Key Header
    isstreamer.addParameter("-H");
    isstreamer.addParameter("X-IS-AccessKey:" + accessKey);

    // IS Bucket Key Header
    // Note that bucketName is not needed here
    isstreamer.addParameter("-H");
    isstreamer.addParameter("X-IS-BucketKey:" + bucketKey);

    isstreamer.addParameter("-d");

    // Initialize a string to hold our signal data
    String jsonData;

    jsonData = "[";
    jsonData += "{\"key\": \"" + SignalName[i] + "\", \"value\": \"" + signalData[i] + "\"}";
    jsonData += "]";

    isstreamer.addParameter(jsonData);

    isstreamer.addParameter("https://groker.initialstate.com/api/events");

    // Print posted data for debug
    Serial.print("Sending event stream #");
    Serial.print(i);
    Serial.println(jsonData);

    // Run the process
    isstreamer.run();

    Serial.flush();
    delay(2000);
  }
}
String SensorValue[SENSOR_COUNT];

  int temper =(int) TH02.ReadTemperature();
  SensorValue[TEMPER] = temper;

How can you reasonably expect to store an int in an array of type String?

see function itoa()

Tq paul .. its true.. i'm at that things