4
ความหมายหลายอย่างของความเชี่ยวชาญเทมเพลตเมื่อใช้วัตถุที่แตกต่างกัน
เมื่อฉันใช้เทมเพลตพิเศษในไฟล์ออบเจ็กต์อื่นฉันได้รับข้อผิดพลาด "คำจำกัดความหลายรายการ" เมื่อทำการเชื่อมโยง วิธีแก้ปัญหาเดียวที่ฉันพบคือการใช้ฟังก์ชัน "อินไลน์" แต่ดูเหมือนวิธีแก้ปัญหาบางอย่าง ฉันจะแก้ปัญหาโดยไม่ใช้คีย์เวิร์ด "อินไลน์" ได้อย่างไร ถ้าเป็นไปไม่ได้ทำไม? นี่คือรหัสตัวอย่าง: paulo@aeris:~/teste/cpp/redef$ cat hello.h #ifndef TEMPLATE_H #define TEMPLATE_H #include <iostream> template <class T> class Hello { public: void print_hello(T var); }; template <class T> void Hello<T>::print_hello(T var) { std::cout << "Hello generic function " << var << "\n"; } template …