Prendere in considerazione un modello di classe che implementa un contenitore che include un'opzione per la scelta del relativo spazio di archiviazione.Evitare di ripetere il parametro del modello per accedere a enum nel modello di classe
template<class T>
class Container {
public:
enum StorageOption {A,B};
Container(StorageOption opt_): option(opt_) {}
private:
StorageOption option;
};
Qui StorageOption
stato scelto per essere un membro dal momento che viene utilizzato solo in classe.
Ora, creare un'istanza della classe avrei bisogno di ripetere il parametro di template, come:
{
Container<int> c(Container<int>::A);
}
C'è un modo per evitare di ripetere il parametro e allo stesso tempo avere StorageOption
essere un membro o c'è un modo migliore per implementare l'opzione?
Non vedo come l'idea di hmjd possa funzionare. –
Hai provato questo 'usando type = Container :: StorageOption'? –
C'è una brutta soluzione che si potrebbe mettere l'enum fuori dalla classe e chiamarlo 'ContainerStorageOption'. –