Mam pytanie dotyczące inicjalizacji obiektu jakiejś klasy w konstruktorze innej klasy za pomocą listy.
Teraz robię to bez listy jak poniżej i wszystko pracuje prawidłowo:
class Foo {
public:
Foo(){
bar = new Bar(12345, "string");
}
private:
Bar *bar;
};
Natomiast jak chcę to zrobić za pomoca listy (być może niepoprawnie) to kompiluje się natomiast chwilę po uruchomieniu programu rzuca mi wyjątek std::bad_alloc
Foo() : bar(new Bar(12345, "string")){}
Ewentualnie proszę o wyjaśnienie mi co robię źle. Jak to zrobić lepiej/poprawniej.