Rozważ szablon klasy, który implementuje kontener zawierający opcję wyboru miejsca przechowywania.Unikaj powtarzania parametru szablonu w celu uzyskania dostępu do wyliczenia w szablonie klasy.
template<class T>
class Container {
public:
enum StorageOption {A,B};
Container(StorageOption opt_): option(opt_) {}
private:
StorageOption option;
};
Tutaj został wybrany StorageOption
, ponieważ jest używany tylko w klasie.
Teraz instancję klasy bym trzeba powtarzać parametr szablonu, jak:
{
Container<int> c(Container<int>::A);
}
Czy istnieje sposób, aby uniknąć powtarzania parametr i jednocześnie mieć StorageOption
będąc członkiem czy istnieje lepszy sposób wdrożenia opcji?
Nie widzę, jak pomysł hmjd mógłby zadziałać. –
Czy próbowałeś tego "using type = Container :: StorageOption"? –
Istnieje brzydkie rozwiązanie, które można wyrzucić z klasy i nazwać je 'ContainerStorageOption'. –