gpt4 book ai didi

c++ - 错误 LNK2019 : unresolved external symbol "public: __thiscall Signal

转载 作者:行者123 更新时间:2023-11-28 03:01:46 24 4
gpt4 key购买 nike

当我调用 main() 函数时出现错误:

错误 2 error 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 项目

谁能告诉我如何将链接器设置为不调用默认构造函数并调用我想要的构造函数?

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);
}

最佳答案

您需要在初始化列表中初始化基类:

template <class T> Img<T>::Img(int a,int b) :
Signal<T>(a,b) // here
{
// not here
}

您的版本尝试默认构造基础对象,因为它没有在初始化列表中提及,然后创建并销毁一个临时本地对象。

关于c++ - 错误 LNK2019 : unresolved external symbol "public: __thiscall Signal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20616688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com