我使用Code :: Blocks構建我的項目,其中包含三個文件:main.cpp
,TimeSeries.cpp
,TimeSeries.h
。 TimeSeries.h
提供了TimeSeries
類聲明如下:對ClassName :: ClassName的未定義引用
template<class XType, class YType> class TimeSeries {
public:
TimeSeries(void);
~TimeSeries(void);
};
然後TimeSeries.cpp
包含: 的#include 「TimeSeries.h」
template<class XType, class YType>
TimeSeries<XType, YType>::TimeSeries(void) {
}
template<class XType, class YType>
TimeSeries<XType, YType>::~TimeSeries(void) {
}
最後,main.cpp
包含
#include "TimeSeries.h"
typedef TimeSeries<float, float> FTimeSeries;
int main(int argc, char** argv) {
FTimeSeries input_data;
return 0;
}
建設當與C :: B,我得到以下錯誤:
undefined reference to `TimeSeries<float, float>::TimeSeries()'
我該怎麼辦?
謝謝,
CFP。
感謝您的全面回答! – 2010-09-21 16:59:32