expected primary-expression before ')' token

I faced this error when compiling the below code:

/****************************************************************************** 
MLX90614_Serial_Demo.ino
Serial output example for the MLX90614 Infrared Thermometer

This example reads from the MLX90614 and prints out ambient and object 
temperatures every half-second or so. Open the serial monitor and set the
baud rate to 9600.

Hardware Hookup (if you're not using the eval board):
MLX90614 ------------- Arduino
  VDD ------------------ 3.3V
  VSS ------------------ GND
  SDA ------------------ SDA (A4 on older boards)
  SCL ------------------ SCL (A5 on older boards)
  
An LED can be attached to pin 8 to monitor for any read errors.

Jim Lindblom @ SparkFun Electronics
October 23, 2015
https://github.com/sparkfun/SparkFun_MLX90614_Arduino_Library

Development environment specifics:
Arduino 1.6.5
SparkFun IR Thermometer Evaluation Board - MLX90614
******************************************************************************/

#include <Wire.h> // I2C library, required for MLX90614
#include <SparkFunMLX90614.h> // SparkFunMLX90614 Arduino library
#include <SFE_MicroOLED.h>  // Include the SFE_MicroOLED library

//////////////////////////
// MicroOLED Definition //
//////////////////////////
//The library assumes a reset pin is necessary. The Qwiic OLED has RST hard-wired, so pick an arbitrarty IO pin that is not being used
#define PIN_RESET 9 
//The DC_JUMPER is the I2C Address Select jumper. Set to 1 if the jumper is open (Default), or set to 0 if it's closed.
#define DC_JUMPER 

MicroOLED oled(PIN_RESET, DC_JUMPER);    // I2C declaration

IRTherm therm; // Create an IRTherm object to interact with throughout

const byte LED_PIN = 8; // Optional LED attached to pin 8 (active low)

void setup() 
{
  //Setup Micro OLED first then setup MLX90614
  //Setup Micro OLED
  delay(100);
  Wire.begin();
  oled.begin();    // Initialize the OLED
  oled.clear(ALL); // Clear the display's internal memory
  oled.display();  // Display what's in the buffer (splashscreen)
  delay(1000);     // Delay 1000 ms
  oled.clear(PAGE); // Clear the buffer.
  
  randomSeed(analogRead(A0) + analogRead(A1));
  
  //Setup MLX90614
  Serial.begin(9600); // Initialize Serial to log output
  therm.begin(); // Initialize thermal IR sensor
  therm.setUnit(TEMP_C); // Set the library's units to Farenheit
  // Alternatively, TEMP_F can be replaced with TEMP_C for Celsius or
  // TEMP_K for Kelvin.
  
  pinMode(LED_PIN, OUTPUT); // LED pin as output
  setLED(LOW); // LED OFF
}

void loop() 
{
  setLED(HIGH); //LED on
  
  // Call therm.read() to read object and ambient temperatures from the sensor.
  if (therm.read()) // On success, read() will return 1, on fail 0.
  {
    // Use the object() and ambient() functions to grab the object and ambient
 // temperatures.
 // They'll be floats, calculated out to the unit you set with setUnit()
    float objectT = therm.object(); // Get updated object temperature
    //oled.print("ObjectT: " + String(therm.object(), 2));
    oled.setFontType(2);  // 7-segment display style characters, 10x16-pixels each
    oled.setCursor(10,10);  // Set the text cursor to the left of the screen.
    oled.print(objectT);
    oled.display();
    //Serial.print("Object: " + String(therm.object(), 2));
    //Serial.write('°'); // Degree Symbol
    //Serial.println("C");
    //Serial.print("Ambient: " + String(therm.ambient(), 2));
    //Serial.write('°'); // Degree Symbol
    //Serial.println("C");
    //Serial.println();
  }
  setLED(LOW);
  delay(500);
}

void setLED(bool on)
{
  if (on)
    digitalWrite(LED_PIN, LOW);
  else
    digitalWrite(LED_PIN, HIGH);
}

Error message:

Arduino: 1.8.13 (Windows 7), Board: "Arduino Uno"





















IR_Thermometer:39:36: error: expected primary-expression before ')' token

 MicroOLED oled(PIN_RESET, DC_JUMPER);    // I2C declaration

                                    ^

exit status 1

expected primary-expression before ')' token



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

errormessageverboseoutput.txt (15.6 KB)

#define DC_JUMPER

You defined DC_JUMPER as nothing (empty) and then used it. The result was that

MicroOLED oled(PIN_RESET, DC_JUMPER);    // I2C declaration

became

MicroOLED oled(9,);

Not so good.

I don't use this library so I can only guess what you should have done.

Clearly, something is missing.