Autor Wątek: Konwersja wskaźnika do niekopiowalnej klasy.  (Przeczytany 1284 razy)

Offline ShadowDancer

  • Redaktor

# Lipiec 19, 2016, 16:02:41
Mamy klasę abstrakcyjną IArchive i klasę dziedziczącą ZipArchive. Klasa abstrakcyjna ma prywatny kontruktor kopiujący (nie można jej kopiować, ponieważ otwiera archiwum zip i skopiowanie spowodowałoby np. podwójne zamknięcie pliku).


Powoduje to, że:
shard_pointer<IArchive> archive = static_pointer_cast<IArchive>(make_shared<ZipArchive>(args));
się sypie (ponieważ konstruktor kopiujący jest prywatny). Jak powinien poprawnie wyglądać ten kod?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline DezerteR

  • Użytkownik

  • +1
# Lipiec 19, 2016, 17:05:45
Jak zdefiniujesz konstruktor dla IArchive powinno zadziałać.
https://ideone.com/R9U6tP

Offline ShadowDancer

  • Redaktor

# Lipiec 20, 2016, 00:41:48
Dzięki, śmiga!