คำถามติดแท็ก overloading

คำว่าโอเวอร์โหลดและโอเวอร์โหลดอาจหมายถึง: - คอนสตรัคเตอร์และเมธอดโอเวอร์โหลดประเภทของความหลากหลายที่มีการเรียกใช้ฟังก์ชันต่าง ๆ ที่มีชื่อเดียวกันตามประเภทข้อมูลของพารามิเตอร์ที่ส่งผ่าน - โอเวอร์โหลดตัวดำเนินการรูปแบบของฟังก์ชันหรือวิธีการโอเวอร์โหลดโดยที่ การดำเนินการมากเกินไปเป็นตัวดำเนินการเช่น + หรือ -

4
โอเวอร์โหลดฟังก์ชันโดยใช้เทมเพลต
ฉันพยายามกำหนดฟังก์ชั่นโดยใช้เทมเพลตและฉันต้องการให้ typename เป็น int หรือ anEnum (enum เฉพาะที่ฉันกำหนดไว้) ฉันได้ลองทำสิ่งต่อไปนี้แล้ว แต่ล้มเหลว: template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T> bool isFunction(const T &aVariable){} สิ่งที่ฉันพยายามทำคือใช้เทมเพลตแทนการกำหนดฟังก์ชั่นโอเวอร์โหลดสองฟังก์ชัน ฉันต้องการฟังก์ชั่นที่จะเรียกว่าต่อไปนี้โดยไม่ต้องโปรแกรมเมอร์ต้องพิจารณาประเภท isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable) โดยทั่วไปฉันต้องการให้ฟังก์ชั่นนี้เป็นเทมเพลตสำหรับประเภท int และ aNum ฉันค้นหาสิ่งนี้แล้ว แต่ไม่พบคำตอบ ฉันจะพลาดอะไรได้บ้าง ขอบคุณ,

6
การเริ่มต้นตัวแปรชนิดที่ไม่รู้จักผ่านตัวสร้างที่โอเวอร์โหลดใน C ++
มาจากพื้นหลังหลามส่วนใหญ่ฉันค่อนข้างลำบากกับการทำงานกับประเภทใน C ++ ฉันพยายามที่จะเริ่มต้นตัวแปรระดับผ่านหนึ่งในหลายตัวสร้างมากเกินไปที่ใช้ประเภทที่แตกต่างกันเป็นพารามิเตอร์ ฉันได้อ่านแล้วว่าการใช้autoคำหลักนั้นสามารถใช้สำหรับการประกาศอัตโนมัติของตัวแปรได้อย่างไรก็ตามในกรณีของฉันมันจะไม่ถูกกำหนดค่าเริ่มต้นจนกว่าจะเลือกคอนสตรัคเตอร์ แต่คอมไพเลอร์ไม่ได้มีความสุขเกี่ยวกับการไม่ valueinitialising class Token { public: auto value; Token(int ivalue) { value = ivalue; } Token(float fvalue) { value = fvalue; } Token(std::string svalue) { value = svalue; } void printValue() { std::cout << "The token value is: " << value << std::endl; } }; …

3
โอเวอร์โหลดฟังก์ชั่นแลมบ์ดา
วิธีโอเวอร์โหลดฟังก์ชั่นแลมบ์ดาแบบง่าย ๆ ในท้องถิ่น? SSE ของปัญหาดั้งเดิม: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto translate = [](char c) { std::map<char, int> table{ {'a', 0}, {'b', 1}, {'c', 2}, {'d', 3}, {'e', …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.