# Error: expected constructor, destructor, or type conversion before '('

**URL:** <https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388>\
**Category:** Programming\
**Created:** [June 25, 2023, 5:15am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388 "2023-06-25T05:15:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 5:15am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/1 "2023-06-25T05:15:52Z")

</div>

Hi pls help with my error!

```arduino
#include <PubSubClient.h>

const int trig_pin = 25;
const int echo_pin = 26;

// Sound speed in air
#define SOUND_SPEED 340
#define TRIG_PULSE_DURATION_US 10
#include <WiFi.h>
#include <PubSubClient.h>

//wifi and mqtt parameter
const char* ssid = "papaya";
const char* password = "alice123";
const char* mqttServer = "127.0.0.1:1880";
const int mqttPort = 1880;

long ultrason_duration;
float distance_cm;

WiFiClient espClient;
PubSubClient client(espClient);
 
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.println("Connecting to WiFi..");
  }
  Serial.println("Connected to the WiFi network");
 
  client.setServer(mqttServer, mqttPort);
  client.setCallback(callback);
 
  while (!client.connected()) {
    Serial.println("Connecting to MQTT...");
 
// if (client.connect("ESP8266Client", mqttUser, mqttPassword )) {
    if (client.connect("ESP8266Client" )) {
      
      Serial.println("connected");  
 
    } else {
      Serial.print("failed with state ");
      Serial.print(client.state());
      delay(2000);
    }
  }
  client.publish("test", "Hello from ESP8266");
  client.subscribe("test");
}
 
void callback(char* topic, byte* payload, unsigned int length) {
 
  Serial.print("Message arrived in topic: ");
  Serial.println(topic);
 
  Serial.print("Message:");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
  Serial.println("-----------------------"); 
}
 
void loop() {
  Serial.begin(115200);
  pinMode(trig_pin, OUTPUT); // We configure the trig as output
  pinMode(echo_pin, INPUT); // We configure the echo as input
}

  // Set up the signal
  digitalWrite(trig_pin, LOW);
  delayMicroseconds(2);
 // Create a 10 µs impulse
  digitalWrite(trig_pin, HIGH);
  delayMicroseconds(TRIG_PULSE_DURATION_US);
  digitalWrite(trig_pin, LOW);

  // Return the wave propagation time (in µs)
  ultrason_duration = pulseIn(echo_pin, HIGH);

//distance calculation
  distance_cm = ultrason_duration * SOUND_SPEED/2 * 0.0001;

  // We print the distance on the serial port
  Serial.print("Distance (cm): ");
  Serial.println(distance_cm);

  delay(1000);
}
  client.loop();
}

```

the error result is  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:78:15: error: expected constructor, destructor, or type conversion before '(' token  
digitalWrite(trig\_pin, LOW);  
^  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:79:20: error: expected constructor, destructor, or type conversion before '(' token  
delayMicroseconds(2);  
^  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:81:15: error: expected constructor, destructor, or type conversion before '(' token  
digitalWrite(trig\_pin, HIGH);  
^  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:82:20: error: expected constructor, destructor, or type conversion before '(' token  
delayMicroseconds(TRIG\_PULSE\_DURATION\_US);  
^  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:83:15: error: expected constructor, destructor, or type conversion before '(' token  
digitalWrite(trig\_pin, LOW);  
^  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:86:3: error: 'ultrason\_duration' does not name a type  
ultrason\_duration = pulseIn(echo\_pin, HIGH);  
^ ~~~~~~~~~~~~~~~~  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:89:3: error: 'distance\_cm' does not name a type  
distance\_cm = ultrason\_duration \* SOUND\_SPEED/2 \* 0.0001;  
^ ~~~~~~~~~~  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:92:3: error: 'Serial' does not name a type  
Serial.print("Distance (cm): ");  
^ ~~~~~  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:93:3: error: 'Serial' does not name a type  
Serial.println(distance\_cm);  
^ ~~~~~  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:95:8: error: expected constructor, destructor, or type conversion before '(' token  
delay(1000);  
^  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:96:1: error: expected declaration before '}' token  
}  
^

exit status 1

Compilation error: expected constructor, destructor, or type conversion before '(' token

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 25, 2023, 5:46am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/2 "2023-06-25T05:46:24Z")

</div>

> [@devinabe21](#):
>
> ```arduino
> void loop() {
> Serial.begin(115200);
> pinMode(trig_pin, OUTPUT); // We configure the trig as output
> pinMode(echo_pin, INPUT); // We configure the echo as input
> }
> 
> ```

Your loop is ended at this brace. All lines after that is beyond on any function.

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 6:01am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/3 "2023-06-25T06:01:52Z")

</div>

Thank you by deleting the brace it worked but now i have a new error code.

C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:96:3: error: 'client' does not name a type  
client.loop();  
^ ~~~~~  
C:\Users\DEVINA\OneDrive\Documents\Arduino\sketch\_jun19a\sketch\_jun19a.ino:97:1: error: expected declaration before '}' token  
}  
^

exit status 1

Compilation error: 'client' does not name a type

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 25, 2023, 6:11am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/4 "2023-06-25T06:11:59Z")

</div>

Because you have the same error futher in loop.  
The number of open and close braces must match.

---

<div class="post-metadata">

**Author:** ![srnet](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/srnet/32/238868_2.png) [@srnet](https://forum.arduino.cc/u/srnet)\
**Post date:** [June 25, 2023, 6:13am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/5 "2023-06-25T06:13:21Z")

</div>

Where did you ge the code from ?

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 6:14am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/6 "2023-06-25T06:14:09Z")

</div>

so what can i do for now? sorry im a newbie in the area

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 6:14am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/7 "2023-06-25T06:14:42Z")

</div>

i got the code from other forum too.. any idea what's wrong with the code?

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 25, 2023, 6:19am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/8 "2023-06-25T06:19:49Z")

</div>

> [@devinabe21](#):
>
> any idea what's wrong with the code?

The number of open and close braces must match.

---

<div class="post-metadata">

**Author:** ![srnet](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/srnet/32/238868_2.png) [@srnet](https://forum.arduino.cc/u/srnet)\
**Post date:** [June 25, 2023, 6:19am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/9 "2023-06-25T06:19:54Z")

</div>

> [@devinabe21](#):
>
> any idea what's wrong with the code?

You have a random bit of code outside of any function;

```arduino

client.loop();
}

```

Maybe find a tutorial on basic coding and study it. And with such basic errors in the code you found, who knows if the rest of it actually works......

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 6:29am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/11 "2023-06-25T06:29:59Z")

</div>

thank you srnet i have succeeded in uploading the code but why does my serial monitor said  
failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 6:30am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/12 "2023-06-25T06:30:36Z")

</div>

thank you b707 i have succeeded in uploading the code but why does my serial monitor said  
failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

failed with state -2Connecting to MQTT...

---

<div class="post-metadata">

**Author:** ![sterretje](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/sterretje/32/391294_2.png) [@sterretje](https://forum.arduino.cc/u/sterretje)\
**Post date:** [June 25, 2023, 6:31am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/13 "2023-06-25T06:31:27Z")

</div>

Do not post in the _Uncategorized_ category !!

Topic moved to a more suitable location on the forum.

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 6:31am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/14 "2023-06-25T06:31:52Z")

</div>

okay will do, anyway do you have any idea why my serial monitor shows that result?

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 25, 2023, 7:00am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/15 "2023-06-25T07:00:56Z")

</div>

> [@devinabe21](#):
>
> failed with state -2

PubSubClient state -2 means "No connection to the server"  
Does your MQTT server alive?

Also, you not need to set port in server address, try just

> [@devinabe21](#):
>
> `const char* mqttServer = "127.0.0.1";`

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 7:06am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/16 "2023-06-25T07:06:08Z")

</div>

how to check if my mqtt server is alive or not?

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 7:09am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/18 "2023-06-25T07:09:21Z")

</div>

tyy

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 25, 2023, 7:17am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/19 "2023-06-25T07:17:49Z")

</div>

What is your MQTT server?

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 7:19am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/20 "2023-06-25T07:19:22Z")

</div>

i used the localhost from node red ip address

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 25, 2023, 7:22am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/21 "2023-06-25T07:22:59Z")

</div>

But what is your MQTT server?  
It should be a separate program that will respond to MQTT requests, such as `mosquito`.  
Did you installed it?

---

<div class="post-metadata">

**Author:** ![devinabe21](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/devinabe21/32/980647_2.png) [@devinabe21](https://forum.arduino.cc/u/devinabe21)\
**Post date:** [June 25, 2023, 7:24am UTC](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388/22 "2023-06-25T07:24:00Z")

</div>

oh yes i used mosquitto. have installed and checked on the command prompt and the mosquitto is already active

[Next page](https://forum.arduino.cc/t/error-expected-constructor-destructor-or-type-conversion-before/1141388.md?page=2)
