C++派生类的"no appropriate default constructor available"
"no appropriate default constructor available" for C++ derived class
我对C++类的定义感到困惑。有人可以帮助我吗?
我有这样的原始模板类定义:
template <typename T>
struct SYNCHED_DATA{
SYNCHED_DATA(int r)
{
var_R = r;
}
void set(T* pV)
{
var_T = *pV;
}
//...
private:
//Copy constructor and assignments are NOT available!
SYNCHED_DATA(const SYNCHED_DATA& s)
{
}
SYNCHED_DATA& operator = (const SYNCHED_DATA& s)
{
}
T var_T;
int var_R;
};
然后我从另一个类中使用它:
struct THREADS_REPORT{
THREADS_REPORT() //error C2512: 'SYNCHED_DATA<T>' : no appropriate default constructor available
{
}
void getReport(THREADS_REPORT_DATA* pOutReport)
{
//Retrieve report array
sthrd.get(pOutReport);
}
void setReport(THREADS_REPORT_DATA* pReport)
{
//Set report array
sthrd.set(pReport);
}
private:
SYNCHED_DATA<THREADS_REPORT_DATA> sthrd;
//Copy constructor and assignments are NOT available!
THREADS_REPORT(const THREADS_REPORT& s) //error C2512: 'SYNCHED_DATA<T>' : no appropriate default constructor available
{
}
THREADS_REPORT& operator = (const THREADS_REPORT& s)
{
}
};
但是我在第二类中的两个地方至少收到"错误 C2512"错误(在上面的代码中标记)。我需要如何更改第二个类以使其编译?
您应该尝试通过成员初始值设定项列表初始化THREADS_REPORT
构造函数中的THREADS_REPORT::sthrd
:
THREADS_REPORT(int i) : sthrd(i)
{
}
或为 SYNCHED_DATA
提供默认构造函数:
SYNCHED_DATA() {}
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- C++如何通过"constructor initialization"初始化行变量?
- 用"=default"声明的函数应该只在头文件中执行
- 即使设置了"__set_what_UTF8",也始终显示"Default TException."
- "No default constructor exists "即使我不需要它
- 我的模板二叉搜索树类给出了错误"Node<T>: no appropriate default constructor available,"如何解决这个问题?
- 为什么我收到错误:"there is more than one default constructor"?
- 虚幻引擎4.18.2 "no default constructor exists for class " UUserWidget " "
- 类类型的"No default constructor"
- C++派生类的"no appropriate default constructor available"
- "Call to implicitly deleted default constructor of "错误
- "No appropriate default constructor" 我到处寻找答案
- 从具有Default Constructor的类中调用对象
- 如何在C++"default constructor"
- Visual Studio 2015 中的"default constructor cannot be referenced"
- "No appropriate default constructor available"在C++11
- 可视化C++模板化类"no appropriate default constructor available"
- 使用模板类数据成员的 C++ "no appropriate default constructor available"错误
- "No appropriate default constructor available" --为什么还要调用默认构造函数?
- C++ "No appropriate default constructor available"