Cześć,
mam problem, ponieważ chciałbym przekształcić poniższą klasę używając shared_ptr i listy. Doda,, że Klasa1 i Klasa2 dziedziczy po klasie Klasa.
#include <iostream>
#include <memory>
#include "Klasa1.hh"
#include "Klasa2.hh"
using namespace std;
class Ogolna{
Klasa1 pprzyklad;
Klasa2 dprzyklad;
public:
Ogolna();
void FunkcjaPierwsza(pprzyklad.cos());
void FunkcjaDruga(dprzyklad.coos());
Przerobienie na coś takiego:
#include <iostream>
#include <memory>
#include "Klasa1.hh"
#include "Klasa2.hh"
using namespace std;
class Ogolna{
list<shared_ptr<Klasa>> Lista;
public:
Ogolna();
void FunkcjaPierwsza(pprzyklad.cos());
void FunkcjaDruga(dprzyklad.coos());
Konstruktor:
Lista.push_back(new Klasa1());
Lista.push_back(new Klasa2());
Kompilator:
error: 'shared_ptr' was not declared in this scope
error: 'Lista' was not declared in this scope
Gdzie popełniam błąd? Mam nadzieje, że rzeczowo wyjaśniłem problem.