抽象数据类型作为参数传递

时间:2017-12-09 23:45:47

标签: c++ function random parameters hashtable

嘿所以我试图将哈希表作为参数传递给c ++,当我调用我试图运行的函数时,我得到一条我不理解的错误信息。

所以这就是功能:

string getRandomKey(int tableNumber, int tableSize, HashTable<string>* table, int random){
    random *= rand() % tableSize + 1;
    string randKey = to_string(tableNumber) + to_string(random);

    if((table->find(randKey)) == true){
        cout << "Key: " << randKey << " found ";
        return randKey;
    }
    return "";  
}

这绝不是我试图测试它的最终版本。一些上下文是我有几个哈希表,以及一个单独的整数变量,它具有我预先确定的元素数。密钥设置为随机数之一。

无论如何所以我在这里称之为函数:

table1->print(getRandomkey(1, sizes[2], table1*, 1));

我收到了这个错误:

error: expected expression
    table1->print(getRandomKey(1, sizes[2], table1*, 1));
                                                   ^
1 error generated.

所以,我不确定我需要改变什么,或者我是否在其他地方搞砸了什么。感谢你们给予的任何帮助!

1 个答案:

答案 0 :(得分:1)

看来table1是一个指向HashTable的指针,所以当你 调用getRandomKey术语table1 *应该只是table1。

table1-&gt; print(getRandomkey(1,sizes [2],table1,1));