J'utilise Code :: Blocks pour générer mon projet, qui contient trois fichiers: main.cpp
, TimeSeries.cpp
, TimeSeries.h
. TimeSeries.h
fournit des déclarations de la classe TimeSeries
comme suit:Référence non définie à ClassName :: ClassName
template<class XType, class YType> class TimeSeries {
public:
TimeSeries(void);
~TimeSeries(void);
};
Puis TimeSeries.cpp
contient: #include "TimeSeries.h"
template<class XType, class YType>
TimeSeries<XType, YType>::TimeSeries(void) {
}
template<class XType, class YType>
TimeSeries<XType, YType>::~TimeSeries(void) {
}
Et enfin, main.cpp
contient
#include "TimeSeries.h"
typedef TimeSeries<float, float> FTimeSeries;
int main(int argc, char** argv) {
FTimeSeries input_data;
return 0;
}
Lors de la construction avec C :: B, j'obtiens l'erreur suivante:
undefined reference to `TimeSeries<float, float>::TimeSeries()'
Que puis-je faire?
Merci,
CFP.
Merci pour votre réponse complète! –