logo
  • 教程列表
  • SO官方文檔
  • 未定義的行為
    • 通過空指標讀取或寫入
    • 使用未初始化的區域性變數
    • 訪問越界索引
    • 通過指向沒有虛擬解構函式的基類的指標刪除派生物件
    • 擴充套件 std 或 posix 名稱空間
    • 對於具有非 void 返回型別的函式,沒有 return 語句
    • 整數除以零
    • 訪問懸空參考
    • 無效的指標算術
    • 簽名整數溢位
    • 記憶體分配和釋放配對不正確
    • 由無效的職位數量轉移
    • 多個不相同的定義(一個定義規則)
    • 修改 const 物件
    • 修改字串文字
    • 將物件作為錯誤型別訪問
    • 轉換為浮點型別或從浮點型別轉換時溢位
    • 從 noreturn 函式返回
    • 無限模板遞迴
    • 浮點溢位
    • 從建構函式或解構函式呼叫(純)虛擬成員
    • 無效的基於派生的靜態強制轉換
    • 通過不匹配的函式指標型別呼叫函式
    • 通過指向成員的指標訪問不存在的成員
    • 指向成員的指標的派生到基礎轉換無效
    • 銷燬已經被破壞的物體
  1. StackOverflow 文件
  2. C++ 教程
  3. 未定義的行為
  4. 無限模板遞迴

無限模板遞迴

Created: November-22, 2018

標準示例,[temp.inst] / 17:

template<class T> class X {
    X<T>* p; // OK
    X<T*> a; // implicit generation of X<T> requires
             // the implicit instantiation of X<T*> which requires
             // the implicit instantiation of X<T**> which ...
};
  • 浮點溢位
  • 從 noreturn 函式返回

Copyright © 2018. All right reserved

tastones.com 备案号:鲁ICP备18045372号-1

  • 關於本站
  • 免責聲明