首頁 > 後端開發 > C++ > 為什麼'std::endl”在重載`時會導致'未知類型”錯誤

為什麼'std::endl”在重載`時會導致'未知類型”錯誤

Mary-Kate Olsen
發布: 2024-12-07 04:40:11
原創
869 人瀏覽過

Why Does

克服運算子中的「s​​td::endl 屬於未知型別」錯誤

運算子重載是C 中的一格數項強大技術,允許自訂資料類型為「

使用「my_stream

在「std::cout」中,運算子「

為“MyStream”實作自訂 endl

引入一個名為“的新成員函數” endl”進入“MyStream”,其簽章與運算子“

匹配標準EndLine 簽章

支援“std” ::endl”,我們必須定義另一個“operator

範例程式碼:

#include <iostream>;

struct MyStream {
// ... (same as previous code)

// MyStream's custom endl
static MyStream&amp; endl(MyStream&amp; stream) {
// ... (same as previous code)
}

// Operator<< to accept std::endl
MyStream&amp; operator<<(StandardEndLine manip) {
// ... (same as previous code)
}
};

int main(void) {
MyStream stream;

// ... (same as previous code)
stream << MyStream::endl; // Call custom endl
stream << std::endl; // Call std::endl directly

return 0;
}
登入後複製

透過實作這些方法,我們現在可以使用「my_stream

以上是為什麼'std::endl”在重載`時會導致'未知類型”錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板