我正在创建一些自定义异常类,执行以下操作
class GXException
{
public:
GXException(LPCWSTR pTxt):pReason(pTxt){};
LPCWSTR pReason;
};
class GXVideoException : GXException
{
public:
GXVideoException(LPCWSTR pTxt):pReason(pTxt){};
LPCWSTR pReason;
};
当我创建GXVideoException扩展GXException时,出现以下错误
1>c:\users\numerical25\desktop\intro todirectx\godfiles\gxrendermanager\gxrendermanager\gxrendermanager\gxexceptions.h(14) : error C2512: 'GXException' : no appropriate default constructor available
最佳答案
您需要在派生构造函数的初始化列表中调用基类构造函数。同样,由于您是从基类派生的,因此不应使用相同的名称(pReason
)重新声明第二个变量。
class GXException
{
public:
GXException(LPCWSTR pTxt):pReason(pTxt){};
LPCWSTR pReason;
};
class GXVideoException : GXException
{
public:
GXVideoException(LPCWSTR pTxt)
: GXException(pTxt)
{}
};