【发布时间】:2013-12-16 17:15:33
【问题描述】:
当我调用 main() 函数时出现错误:
错误 2 错误 LNK2019:函数“public: __thiscall Img::Img( int,int)" (??0?$Img@H@@QAE@HH@Z) c:\Users\Maja\documents\visual studio 2012\Projects\Project6\Project6\Img.obj 项目
谁能告诉我如何将 Linker 设置为不调用默认构造函数并调用我想要的构造函数?
template <class T> class Signal {
protected: int N; // width of array
int M;
private: double deltaT; // sampling period
double t0; // initial time
int flag; // indicator
public:
T* sig; // array of type T
T** sig2D;
Signal(void); // constructor
Signal (int); // constructor
Signal (int,int);
Signal (int,double); // constructor
Signal(int,int,double);
Signal (int,double,double); // constructor
Signal(int,int,double,double);
};
template <class T> class Img:public Signal<T>
{
public:
Img(void);
~Img(void);
Img(int,int);
};
template <class T> Img<T>::Img(int a,int b){
Signal(a,b); // or Signal<T>::Signal(a,b);
}
int main() {
Img<int> *a=new Img<int>(2,3);
}
【问题讨论】:
标签: c++ class templates inheritance linker