MinHeap<Huffman<T>> H(1)的问题
用最小堆创建一个对象
MinHeap<Huffman<T>> H(1);
以下是报错:
error C2065: 'T' : undeclared identifier
error C2065: 'H' : undeclared identifier
error C2143: syntax error : missing '>' before ';'
error C2974: 'Huffman' : invalid template argument for 'T', type expected
see declaration of 'Huffman'
error C2143: syntax error : missing '>' before ';'
但是我用MinHeap<int> H(1) 就是对的。
Huffman定义如下:
template<class T>
class Huffman{
public:
BinaryTree<int> HuffmanTree(T a[],int n);
operator T () const{ return weight;}
private:
BinaryTree<int> tree;
T weight;
};
[解决办法]
MinHeap<Huffman<T> >