[英]runtime_error expecting a “;”?
我正在嘗試使用繼承來創建一個從runtime_error
派生的類,但是即使這是練習中使用的確切代碼,也仍然是本書中的示例,但我一直遇到錯誤。 這是代碼:
class DivideZeroEx : public runtime_error
{
public:
DivideZeroEx()
runtime_error( " attempt to divide by zero" )
};
現在我得到一個錯誤,指出它期望一個; 在runtime_error(“試圖除以零”)行之前。
調用基類構造函數的語法應為:
DivideZeroEx() : runtime_error( " attempt to divide by zero" ) { }
您試圖在成員初始化器列表中調用基類構造函數,語法為:
DivideZeroEx():runtime_error( " attempt to divide by zero" )
{
}
class DivideZeroEx : public runtime_error
{
public:
DivideZeroEx() : runtime_error( " attempt to divide by zero" )
{
}
};
在這種情況下,它並不會節省太多,但是如果您要在整個類中按名稱使用runtime_error
,那么將來換掉基數會更容易。
class DivideZeroEx : public runtime_error
{
typedef runtime_error base;
public:
DivideZeroEx() : base( " attempt to divide by zero" )
{
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.