::pop(): empty stack");
elems.pop_back();
}
template
T Stack::top() const {
if (elems.empty()) throw out_of_range("Stack<>::top(): empty stack");
return elems.back();
}
// 繼承類模板,子類也為模板 templateclass DerivedStack : public Stack { ... }; // 繼承具體實例化類型 class IntStack : public Stack { ... };
templateclass Node { T data; }; void foo() { Node n; } // 錯誤:缺少
正確:Node 或在模板函數內 Node。
錯誤:
templatevoid A ::f() {}