簡體   English   中英

runtime_error預期為“;”?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM