我有这个类双链表:C++编译错误
template <typename T>
class Akeraios
{
struct node
{
T data;
node* prev;
node* next;
node(T t, node* p, node* n) : data(t), prev(p), next(n) {}
};
node* head;
node* tail;
public:
Akeraios() : head(NULL), tail (NULL) {}
template<int N>
Akeraios(T (&arr) [N]) : head(NULL), tail (NULL) //meta apo : simainei einai initializer list--arxikopoiisi listas
{
for(int i(0); i != N; ++i)
push_back(arr[i]);
}
bool empty() const { return (!head || !tail); }
operator bool() const { return !empty(); }
void push_back(T);
void push_front(T);
T pop_back();
T pop_front();
~Akeraios()
{
while(head)
{
node* temp(head);
head=head->next;
delete temp;
}
}
};
在
和地方主要
int arr[num1len];
int i=1;
Akeraios <int> dlist (arr);//error line!!
for(i=1;i<=num1len;i++){
double digit;
int div=10;
int j;
for(j=1;j<=i;j++)div=div*div;
digit=number1/div;
int dig=(int) digit;
在错误行的错误是:
没有匹配功能调用`Akeraios :: Akeraios(int [((unsigned int)((int)num1len))])'
名候选人是:Akeraios :: Akeraios(常量Akeraios &)
注Akeraios :: Akeraios()与T = INT]
什么是'num1len`? – 2010-12-02 21:46:17
num1len是整数 - 一个数字的长度长数字,我想我的数组存储每个数字分开 – Dchris 2010-12-02 21:48:44