[计算机科学经

Hpp export templatetypename t void ft class a class

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: }; 譯註:g++ 3.2 支援「template template parameters 寬鬆匹配規則」(見 13.5 節, p.211),因此即 使不進行以㆖修改也能通過編譯。 譯註:即使進行以㆖修改,VC7.1 仍然無法編譯。解決辦法是將 CONT<T> 改為 CONT<T,std::allocator<T> >。 由於 ALLOC 並未在程式碼㆗用到,因此你也可以把它省略掉。 譯註:如果略去 ALLOC,VC7.1 會認為 CONT 與 std::deque 型別不相容。 Stack template 的最終版本如㆘。此㆒版本支援對「不同元素型別」之 stacks 的彼此賦值動作: // basics/stack8.hpp #ifndef STACK_HPP #define STACK_HPP #include <deque> #include <stdexcept> #include <memory> template <typename T, template <typename ELEM, typename = std::allocator<ELEM> > class CONT = std::deque> class Stack { private: C++ Templates - The Complete Guide 5.4 Template Template Parameters(雙重模板參數) CONT<T> elems; public: void push(T const&); 53 // 元素 // push 元素 void pop(); /...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online