Ich möchte eine benutzerdefinierte Vektorklasse definieren, wie unten std :: vector Klasse mit benutzerdefinierten allocator verwendet:Vorlage typedef mit std :: vector haben benutzerdefinierte allocator
template <class T>
typedef std::vector<T, MyLib::MyAlloc<T> > my_vector;
Dann, als ich verwenden ttry es als:
my_vector<std::string> v;
My g ++ 2.95.3 Compiler auf Solaris 10 beklagt die besagt, dass
template declaration of `typedef class vector<T,MyLib::MyAlloc<T1> > my_vector'
aggregate `class my_vector<basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> > > v' has incomplete type and cannot be initialized
Bitte mir helfen t zu korrigieren er schnipsel.
Ihr Fehler sagt '.... MyLib :: MyAlloc', aber es gibt kein 'T1' im Code. Wenn das wirklich der Code und die Fehlermeldung ist, dann ist das ziemlich seltsam –
user463035818
@ tobi303 Ich bin auch verwirrt –