Compiler error: '_pin' was not declared in this scope

Hi all,

I’m trying to setup my own library. But I’m having troubles compiling it in an example. For some reason I keep getting “Compiler error: ‘_pin’ was not declared in this scope” errors. (also with all other variables in my .cpp file)
I have no idea why, can anyone help me?

Output.h

/*
  Output.h - Library for controlling outputs without delay.
  Created by Mathieu Hebbrecht, March 26, 2015.
*/

#ifndef Output_h
#define Output_h

#include "Arduino.h"

class Output
{
  public:
    Output();
	void Init(int pin, long OnTime, long OffTime);
    void Update();
    void Off();
    void On();
	void Toggle();
	void ChangeTime(long OnTime, long OffTime);
  
  private:  
      // In-Class private variables, are initialized on startup
      int  _Pin;                    	// output pin number
      long _OnTime;                   	// ms on-time
      long _OffTime;                  	// ms off-time
      
      //remember current state
      int _State;                  		// remember output state
      unsigned long _previousMillis;    // store last time output was updated
};

#endif

Output.cpp

/*
  Output.cpp - Library source code for controlling outputs without delay.
  Created by Mathieu Hebbrecht, March 26, 2015.
*/


#include "Output.h"
#include "Arduino.h"

	Output::Output() {	}
	
	void Output::Init(int pin, long OnTime, long OffTime) {
	  _pin = pin;
      pinMode(_pin, OUTPUT);
      
      _OnTime = OnTime;
      _OffTime = OffTime;
    
      _State = LOW;
	  
      _previousMillis = 0;
	}
	
    void Output::Update() {
		unsigned long currentMillis = millis();
		
		if((_State == HIGH) && (currentMillis - _previousMillis >= _OnTime)) {
			
			_previousMillis = currentMillis;
			digitalWrite(_pin, _State);
		} else if((_State == LOW) && (currentMillis - _previousMillis >= _OffTime)) {
			_State = HIGH;
			_previousMillis = currentMillis;
			digitalWrite(_pin, _State);
		}
	}
	
    void Output::Off() {
		_State = LOW;
		digitalWrite(_pin, _State);
	}
	
    void Output::On() {
		_State = HIGH;
		digitalWrite(_pin, _State);
	}
	
	void Output::Toggle() {
		if(_State == HIGH)
			_State = HIGH;
		else
			_State = HIGH;
		
		digitalWrite(_pin, _State);
	}
	
	void Output::ChangeTime(long OnTime, long OffTime) {
		_OnTime = OnTime;
		_OffTime = OffTime;
	}

My Example script

#include <Output.h>

// Create a instance statusLed on pin 13 with 750ms ON and 250 ms OFF
Output statusLed;

void setup() {
  // put your setup code here, to run once:
  statusLed.Init(13, 750, 250);
}

void loop() {
  statusLed.Update();
}
int  _Pin;

Well sorry to bother you all with this, but quickly after I posted the message I found the problem.

In my Output.h file the private variable _Pin started with a capital letter, while in Output.cpp I used _pin (without capital letter).

So sorry, my bad!

@AWOL thx for your quick reply, and sorry wasting your time!