invalid operands of types 'const char [10]' and 'const char*' to binary 'operato

hi! all programmer. I need your help.
Can anyone help me with this problem. Currently, i want to display my output by using initialstate.com, but there is an error there that i didn’t why that error happen.

#include <Servo.h>
#include <SPI.h>
#include <stdlib.h>
#include <string.h>
#include <TH02_dev.h>
#include <Console.h>
#include <Process.h>

#define CMDSTR_MAX_LEN (128)

#define SENSOR_COUNT (5)
#define VAR1_COUNT  (SENSOR_COUNT+1)
typedef int (*pgetSensorValue) (void);

const unsigned int send_readings_every = 10000;
unsigned long next_serial_time;

int getTempSensorValue();
int getHumiSensorValue ();
int getLightSensorValue ();
int getUVSensorValue ();
int getPIRSensorValue ();

char cmdstrr [CMDSTR_MAX_LEN];

const unsigned int reading_delay = 1000;
unsigned long next_reading_interval_time;
boolean request_pending = false;

const unsigned int cloud_update_interval = 10000;
unsigned long next_cloud_update;

#define ISBucketURL "https://groker.initialstate.com/api/buckets" // bucket creation url. 
#define ISEventURL  "https://groker.initialstate.com/api/events"  // data destination. Thanks to Yun's linux, we can use SSL, yeah :)       
String bucketKey = "R6AFVY58848W";                                 // unique identifier for your bucket (unique in the context of your access key)
String bucketName = "Home Monitoring";                  // Bucket name. Will be used to label your Bucket in the initialstate website.
String accessKey = "TOpYrkDkVDXSxfmOqOievJTZXOt65QCP";       // <-- CHANGE THIS Access key (copy/paste from your initialstate account settings page)

const int LightSensorIndex = 1;
const int UVSensorIndex = 2;
const int THSensorIndex = 3;

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

const char* SerialVarList[] = {"temperature", "humidity", "light", "uv", "pir"};
enum SENSOR {TEMPER=0,HUMI,LIGHT,UV,PIR};

pgetSensorValue getSensorValueList[]={
  getTempSensorValue,
  getHumiSensorValue,
  getLightSensorValue,
  getUVSensorValue,
  getPIRSensorValue,
};

int SensorValue[SENSOR_COUNT];

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

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

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

//get Groove-Light Sensor Value
 int getLightSensorValue() {
  return (SensorValue[LIGHT] = analogRead(pinLight));
 }

//get Grove-UV Sensor Value
 int getUVSensorValue() {
  return (SensorValue[UV] = analogRead(pinUV));
 }

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

}



void updateCloud() {
  if (millis() >= next_cloud_update) {
    sendData();
    next_cloud_update = millis () + cloud_update_interval;
  }
}  

void crateBucket()
{
  Process isbucket;

   isbucket.begin("curl");
  isbucket.addParameter("-k");    // we use SSL, but we bypass certificate verification! 
  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(ISBucketURL);
  
  // Run the process
  isbucket.run();
}

// make a HTTP connection to the server and send the sensor readings
void sendData()
{
  // Initialize the process
  Process isstreamer;

  isstreamer.begin("curl");
  isstreamer.addParameter("-k");  // we use SSL, but we bypass certificate verification! 
  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 = "[";

  for (int i=0; i<SENSOR_COUNT; i++)
  {
    jsonData += "{\"key\": \"" + SerialVarList[i] + "\", \"value\": \"" + getSensorValueList[i] + "\"}";

    if (i != SENSOR_COUNT - 1)
    {
      jsonData += ",";
    }
  }

  jsonData += "]";

  isstreamer.addParameter(jsonData);

  isstreamer.addParameter(ISEventURL);

  // Print posted data for debug
  Console.print("Sending data: ");
  Console.println(jsonData);

  // Run the process
  isstreamer.run();
}
  
void setup ()
{
  Serial.begin(9600);
  Bridge.begin();
  Console.begin();
  while (Console) ;
  Console.println("starting");

  delay(1000);

  createBucket();
  next_serial_time = millis() + send_reading_every*3;
  next_cloud_update = millis() + cloud_update_interval;
  

}

void loop() 
{
  printSettings();
  updateCloud();

  delay(10000);
     
}

Coding_1_Uno:205: error: ‘createBucket’ was not declared in this scope

  • createBucket();*
  • ^*
    Coding_1_Uno:206: error: ‘send_reading_every’ was not declared in this scope
    next_serial_time = millis() + send_reading_every*3;
  • ^*
    exit status 1
    invalid operands of types ‘const char [10]’ and ‘const char*’ to binary ‘operator+’

Where is send_reading_every declared ?
I see send_readings_every as a global but not send_reading_every

void crateBucket()
{
  ...

Missing an 'e'.

invalid operands of types 'const char [10]' and 'const char*' to binary 'operator+'

I think that means you are trying to add two strings together. You can't. You can concatenate String objects that way but with C strings you need a function like strcat() and a destination buffer.

But you rarely have to do so. Just send out those strings one after the other will do just fine in most cases. At least for all things that use a print() method like Serial or a SD-card.