Compile error with Linked List of custom struct

The compile error I’m getting is:
error: conversion from ‘int’ to non-scalar type ‘PinInput’ requested

I’m trying to build a linked list of structs but I can’t seem to get the syntax right. I haven’t coded in about 6 years, and I learned C++ and Java initially, so my mind’s all mixed up when it comes to syntax.

I’m planning to read the input from a potentiometer and average the last X milliseconds, so I’m using a linked list, and popping off anything ones that are beyond X milliseconds. Haven’t quite got there yet though as I haven’t been able to add to the linked list.

Here’s my code:

#include <Arduino.h>
#include "QueueList.h"

#define redLedPin 43       //aka RED_LED
#define greenLedPin 44     //aka GREEN_LED
#define button1Pin 41      //aka PUSH1
#define button2Pin 42      //aka PUSH2

const int debugNestNumOfSpaces = 1;         //debug: number of spaces to indent

// the following variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long lastDebounceTime = 0;  // the last time the output pin was toggled
long debounceDelay = 50;    // the debounce time; increase if the output flickers

//use these to turn debug output on and off
const bool debugLineGraph = false;
const bool debugText = true;

// Variables will change:
long loopCount = 0;             //debug code
bool redLedIsOn = false;        //debug code to check how quickly the loop is running
int debugNestDepth = 0;         //debug code to indent output text

struct Button
{
    bool isPressed;         //debounced, evaluated value
    int state;              //current reading from input pin
    int lastState;          //previous reading from input pin
    long lastDebounceTime;  // the last time the output was toggled
    long debounceDelay;     // the debounce time
};
Button button1 = {false, LOW, LOW, 0, 50};     //last value is debounceDelay. increase until no flicker
Button button2 = {false, LOW, LOW, 0, 50};     //last value is debounceDelay. increase until no flicker

struct PinInput
{
    long readingTime;
    int pinReading;
};
PinInput firstPinInput = {0, 0};
PinInput scratchPinInput = (0, 0);
QueueList <struct PinInput> firstPinInputQueue;


void setup()
{
    pinMode(button1Pin, INPUT_PULLUP);
    pinMode(button2Pin, INPUT_PULLUP);
    pinMode(greenLedPin, OUTPUT);
    pinMode(redLedPin, OUTPUT);

    Serial.begin(9600);
}

String nestIndent(int nestDepth)
{
    String indentText = "";

    for(int x = 0; x < nestDepth; x++)
    {
        indentText = indentText + " ";
    }

    return indentText;
}


void storePinReading(int potReading)
{
    debugNestDepth = debugNestDepth++;

    scratchPinInput.pinReading = potReading;
    scratchPinInput.readingTime = millis();

    firstPinInputQueue.push(scratchPinInput);

    debugNestDepth = debugNestDepth--;
}

bool isEven(int curNum)
{
    debugNestDepth = debugNestDepth++;

    return ((curNum % 2) == 0);         //returns true if even

    debugNestDepth = debugNestDepth - 1;
}

void loop()
{
    debugNestDepth = 0;

    if(true)    //just an organizer for the button code, allows for collapse of function
    {
        // read the state of the switch into a local variable:
        int button1Reading = digitalRead(button1Pin);
        int button2Reading = digitalRead(button2Pin);

        // check to see if you just pressed the button
        // (i.e. the input went from LOW to HIGH),  and you've waited
        // long enough since the last press to ignore any noise:

        // If the switch changed, due to noise or pressing:
        if (button1Reading != button1.lastState)
        {
            button1.lastDebounceTime = millis();        // reset the debouncing timer
        }
        if (button2Reading != button2.lastState)
        {
            button2.lastDebounceTime = millis();        // reset the debouncing timer
        }

        // whatever the reading is at, it's been there for longer
        // than the debounce delay, so take it as the actual current state:
        if ((millis() - button1.lastDebounceTime) > button1.debounceDelay)
        {
            button1.state = button1Reading;
        }
        if ((millis() - button2.lastDebounceTime) > button2.debounceDelay)
        {
            button2.state = button2Reading;
        }

        // save the reading.  Next time through the loop,
        // it'll be the lastButtonState:
        button1.lastState = button1Reading;
        button2.lastState = button2Reading;

        //If button 1 has been pressed, then perform an action
        if( button1.state == 0 && button1Reading == 0) //button is opposite because of pullup
        {
            button1.isPressed = true;
        }

        //If button 2 has been pressed, then perform an action
        if( button2.state == 0 && button2Reading == 0) //button is opposite because of pullup
        {
            button2.isPressed = true;
        }

        //If button 1 has been lifted, then perform an action
        if(button1.state == 1 && button1Reading == 1) //button is opposite because of pullup
        {
            button1.isPressed = false;
        }

        //If button 1 has been lifted, then perform an action
        if(button2.state == 1 && button2Reading == 1) //button is opposite because of pullup
        {
            button2.isPressed = false;
        }

    ///////////////////////// Read analog pins

    //int val = 0;
    //val = analogRead(pinNumber);
    //  returns int(0 to 1023)


    }
///////////////////// Button and pin evaluation end //////////////////////////////
//////////////////////////////////////////////////////////////////////////




///////////////DEBUG code below //////////////////////////
    //Blink red LED every 1000 cycles
    loopCount = loopCount++;
    if((loopCount % 1000) == 0)
    {
        //flip red led state every 1000 cycles
        redLedIsOn = !redLedIsOn;
        digitalWrite(redLedPin, redLedIsOn);
    }


    delay(1);
}

I’m using the QueueList.h library that can be found in the Arduino libraries.

I apologize if any of my code seems a bit newbish.

Any help is greatly appreciated! Thank you!

Change

PinInput scratchPinInput = (0, 0);

to

PinInput scratchPinInput = {0, 0};

You need curly braces for the initialization.

oh my gosh, I feel silly. I even initialized the structs correctly right above those. Thank you so much!