首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 構造函數初始化列表語法錯誤:雙冒號應為逗號

     編輯:程式設計綜合問答

錯誤代碼

DateTime(int y, int m, int d) : date(y, m, d):time(y,m,d)  // 錯誤:第二個冒號
{ ... }

修正

DateTime(int y, int m, int d) : date(y, m, d), time(y, m, d)  // 逗號分隔
{ ... }

規則

  • 初始化列表以 **冒號 `:` 開始**,後接 **逗號 `,` 分隔** 的成員/基類初始化項。
  • 每個項格式:成員名(參數列表) 或 基類名(參數列表)。
  • 初始化順序按**類中聲明順序**,而非列表書寫順序。

完整示例

class DateTime {
    Date date;  // 先聲明
    Time time;  // 後聲明
public:
    DateTime(int y, int m, int d) : date(y, m, d), time(y, m, d) { // 逗號
        // 初始化順序:先 date,後 time(按聲明順序)
    }
};

一字之差(冒號 vs 逗號)導致編譯失敗,注意初始化列表語法細節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved