默认构造函数
中发生错误错误: 错误C2679:二进制'=':找不到哪个运算符采用'int'类型的右手操作数(或者没有可接受的转换)
守则:
#ifndef _SLOT_H
#define _SLOT_H
#include <string>
using namespace std;
template <class T>
class slot
{
private:
string key;
T data;
public:
slot();
slot(string str);
slot(string str, T tempdata);
slot(const slot &source);
string getkey();
T getdata();
void setkey(string str);
void setdata(T tempdata);
};
template<class T>
slot<T>::slot()
{
key = "";
data = NULL;
}
答案 0 :(得分:5)
问题可能是您使用T
类型实例化模板,该模板不允许将int
分配给它。
答案 1 :(得分:0)
我想我知道这个问题的解决方案。继续把主要文件放在头文件中。应该注意您遇到的所有指针问题
例如
获取main中的所有代码并将其放在文件标题“Main.h”中,通过linux注释mount / dev / bin / boot将其链接到其他文件。这将导致文件在启动时链接。如果您有任何其他问题,请知道。此外,在您将文件链接起来之后,您可能需要重新启动才能使其正常工作
快乐编程!