dnb
29-04-2009, 16:35
Hallo,
nach langer Abwesenheit habe ich mal wieder eine Frage zu einem Problem bei dem ich nicht weiterkomme. Ob der zusammengekürzte Quellcode so sinnvoll ist glaube ich nicht, aber es geht mir eher darum, wie ich in dem Fall ein std::vector mit Template benutzen kann.
Der folgende Quellcode gibt die folgende Fehlermeldung beim Linken:
In function `Datasets::iterator()': undefined reference to `Iterator<Data>::Iterator(std::vector<Data, std::allocator<Data> >&)'.
template<class T>
class Iterator {
public:
Iterator<T>( std::vector<T>& data );
private:
std::vector<T>& _data;
};
template<class T>
Iterator<T>::Iterator( std::vector<T>& data )
: _data( data ) {
}
// _datasets = std::vector<Data>
std::auto_ptr< Iterator<Data> > Datasets::iterator() {
return std::auto_ptr< Iterator<Data> >( new Iterator<Data>( _datasets ) );
}
Ich hoffe es kann jemand damit etwas anfangen und mir bei meinem Problem weiterhelfen ...
MfG =>dnb<=
nach langer Abwesenheit habe ich mal wieder eine Frage zu einem Problem bei dem ich nicht weiterkomme. Ob der zusammengekürzte Quellcode so sinnvoll ist glaube ich nicht, aber es geht mir eher darum, wie ich in dem Fall ein std::vector mit Template benutzen kann.
Der folgende Quellcode gibt die folgende Fehlermeldung beim Linken:
In function `Datasets::iterator()': undefined reference to `Iterator<Data>::Iterator(std::vector<Data, std::allocator<Data> >&)'.
template<class T>
class Iterator {
public:
Iterator<T>( std::vector<T>& data );
private:
std::vector<T>& _data;
};
template<class T>
Iterator<T>::Iterator( std::vector<T>& data )
: _data( data ) {
}
// _datasets = std::vector<Data>
std::auto_ptr< Iterator<Data> > Datasets::iterator() {
return std::auto_ptr< Iterator<Data> >( new Iterator<Data>( _datasets ) );
}
Ich hoffe es kann jemand damit etwas anfangen und mir bei meinem Problem weiterhelfen ...
MfG =>dnb<=