Help with this please!!

This compiles:

#include <OneWire.h>
#include <DallasTemperature.h>

//TODO: Investigate the ~ in beside the port number in the board (e.g., ~3 vs 4)

#define ONE_WIRE_BUS 4    //temperature on port 4

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress insideThermometer = { 0x28, 0x43, 0xC2, 0x03, 0x04, 0x00, 0x00, 0x85 };

volatile boolean r1IsEvent;
volatile boolean r2IsEvent;
volatile int pcounter;

int RELAY = 13;  //pin for the RELAY

void setup(void)
{
  Serial.begin(9600);
 
  sensors.begin();
 
  sensors.setResolution(insideThermometer, 10);
  r1IsEvent = false;
  r2IsEvent = false;
  pcounter = 0;
  //attach receiver one to pin 2
  attachInterrupt(0, receiverOneChanged, FALLING);
  //attach receiver one to pin 3
  attachInterrupt(1, receiverTwoChanged, FALLING);
 
}

void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  if (tempC == -127.00) {
    Serial.print("Error getting temperature");
  } else {
    Serial.print("C: ");
    Serial.print(tempC);
    Serial.print(" F: ");
    Serial.print(DallasTemperature::toFahrenheit(tempC));
  }
}

void loop(void)
{
  delay(4000);
  Serial.print("Here we go!!!...\n\r");
  sensors.requestTemperatures();
 
  Serial.print("The temperature is: \n\r");
  printTemperature(insideThermometer);
  Serial.print("\n\r");
  Serial.print("We got it!!!!\n\r");
  Serial.print("\n\r");
  Serial.print("\n\r");
  Serial.print("\n\r");
}


void receiverOneChanged(){
   r1IsEvent = true;
  if(r2IsEvent){
     r1IsEvent = false;
     r2IsEvent = false;
     //person exit
     pcounter = pcounter - 1;
     if(pcounter == 0){
       digitalWrite(RELAY, LOW);
     }   
  }
}

void receiverTwoChanged(){
  r2IsEvent = true;
  if(r1IsEvent){
     if(pcounter == 0){
       digitalWrite(RELAY, HIGH);
     }
     r1IsEvent = false;
     r2IsEvent = false;
     //person entered
     pcounter = pcounter + 1;   
  }
}

By the way, the ~ on pins denotes that they are PWM capable.