C++,在哈希表中显示内容的方法。使用双链表

C++,在哈希表中显示内容的方法。使用双链表

问题描述:

我正在做一个使用双链表的哈希表。由于代码很长,我只是发布我有问题的方法。C++,在哈希表中显示内容的方法。使用双链表

在我的链接列表类的头文件我有这种方法,将显示我的链接列表中的每个节点的内容。

void display() 
{ 
    for (node * p = head; p != NULL; p = p->next) 
    { 
     cout << p->data << endl; 
    } 
    cout << endl; 
} 

然后,我有我的cpp文件在那里我有我的课hashTable中,但我不知道如何通过与哈希表我的头文件中使用的方法来显示每个列表的内容。在我的情况,我的表的大小为10。这是我的尝试:

void showTable() 
{ 
    for (int i = 0; i < size; i++) 
     cout << table[hash(i)].display() << " "; 
} 

我得到的错误是没有运营商“< <”匹配这个操作数
二进制“< <” :没有操作员发现它采用类型的右手操作数“无效”(或没有可接受的转化率)

作为参考,这是我的函数散列

int hash(int x) 
{ 
    return x % (size);    
} 
+1

你需要决定是否'display'不输出或返回,你可以打印一个字符串在它之外。无法从不返回任何内容的函数中打印返回值。 –

为此,显示函数必须返回一个字符串或int。 您的显示函数返回void。这意味着你的代码行等同于:

cout << void << " "; 
当然,这是没有意义的

,因为COUT只能打印字符串和数字。 我不知道所有的代码,但由于显示器()已打印该节点尝试替换该行:

table[hash(i)].display(); 
+0

非常感谢您因为没有意识到而感到尴尬,再次感谢您 – Thevenin99