Bardzo prosze o pomoc bo juz drugi dzien walcze z tym problemem. Napisalem krotki program - zaimplementowalem klase realizujaca wzorzec singletona i sprawdzalem rozne rzeczy potrzebne mi do duzego projektu. Pokrotce - singleton dziala dobrze; potrzebowalem w nim vectora wiec go utworzylem i dotad bylo wszystko ok. Problem pojawil sie w momencie gdy zaczalem tworzyc poszczegolne elementy tego vectora w jakiejs funkcji singletona. Pokazuja sie dziwne dla mnie bledy - przede wszystkim kompilator czepia sie konstruktorow i destruktora singletona; kiedy oba konstruktory i destruktor wezme w komentarz to bledow nie ma... Jak rozwiazac ten problem? Taka postac programu by mnie zadowalala a tu lipa. Jeszcze raz prosze Was o pomoc. Oto felerne zrodlo programu:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

class samochod;

class Singleton
{
    private:
        int liczba;
        static Singleton *pojedynczy;
        vector <samochod> wczytane_samochody;
        Singleton(){}
        Singleton(const Singleton& s){}
    public:
        static Singleton* pobierzInstancje();
        void metoda();
        void metoda_2();
        void wczytaj_samochody();
        ~Singleton()
        {
            cout<<"Usuwanie obiektu klasy Singleton."<<endl;
            pojedynczy=NULL;
        }
};
//******************************************************************************
class samochod
{
    private:
        double predkosc;
        double pojemnosc;
        string marka;
    public:
        friend void Singleton::wczytaj_samochody();
};
//******************************************************************************
Singleton* Singleton::pojedynczy = NULL;
//******************************************************************************
Singleton* Singleton::pobierzInstancje()
{
    if(pojedynczy == NULL)
    {
        pojedynczy = new Singleton;
        cout<<"Utworzono obiekt klasy Singleton."<<endl;
        return pojedynczy;
    }
    else
    {
        cout<<"Juz istnieje obiekt klasy singleton"<<endl;
    }
    return pojedynczy;
}
//******************************************************************************
void Singleton::metoda()
{
    cout << "Metoda klasy singleton" << endl;
    liczba=5;
}
//******************************************************************************
void Singleton::metoda_2()
{
    cout<<"Liczba wynosi: "<<liczba<<endl;
}
//******************************************************************************
void Singleton::wczytaj_samochody()
{
    samochod pojazd;
    for (int i=0; i<5; i++)
    {
        pojazd.predkosc=3;
        pojazd.pojemnosc=30;
        pojazd.marka="maluch";
        wczytane_samochody.push_back(pojazd);
    }
}
//******************************************************************************        
int main()
{
    Singleton *sc1;
    sc1 = Singleton::pobierzInstancje();
    sc1->metoda();
    sc1->metoda_2();
    delete sc1;
    sc1->metoda_2();
    system("PAUSE");
    return 0;
}

Pozdrawiam