יש שלושה פרטים נפרדים ששגויים בקוד זה.
תחילה ה-; בשורה העליונה מיותרת, שורה זו היא חלק מהגדרת המחלקה.
שנית, הגדרת הפונקציה Push גם היא חלק מהגדרת התבנית, לכן עלינו להוסיף את כותרת התבנית גם לפניה.
ולבסוף, יש להוסיף את טיפוס התבנית, T, גם בהגדרת הפונקציה Push כדי שתהיה פונקציה נפרדת לכל טיפוס עבורו יוצרים את המחלקה Stack.
הקוד התקין ייראה כך:
|
template<class
T>
class Stack {
T *values;
T *top;
public:
Stack(int size);
void Push(T newValue);
T Pop();
};
template<class
T>
void Stack<T>::Push(T
newValue)
{
top++;
*top = newValue;
}
|
|