נרגילה לייט
New member
שאלות ב-C++
אני מגדיר פונקציית TEMPLATE כזאת:
אני מגדיר פונקציית TEMPLATE כזאת:
template<class T> T& Max(T& a, T& b) { cout << typeid(a).name(); if (a > b) return a; return b; }
כאשר אני שולח לפונקציה מה-MAIN STR או INT הכל עובד בסדר אבל כשאני שולח * char נראה כאילו הוא משווה בן המצביעים ולא בין המחרוזות - כמו כן ניסיתי לשלוח את המשתנים בצורה הבא:cout<<Max(*ch1,*ch2)<<endl;
אבל אז הוא משווה בין התו הראשון בכל מחרוזת... האם יש דרך לפתור את זה - הוא שפונקציה מסוג זה לא יכולה לקבל מצביעים? תודה מראש על העזרה...