c ++“没有匹配的函数来调用

时间:2012-05-21 04:33:01

标签: c++ arrays pointers parameter-passing

当我尝试将数组作为参数传入时,我得到:

"No matching function to call to ' table::retrieve(const char[16], item&, int)'

我试图用

调用该函数
program.reference.retrieve("Abecean Longfin", program.client_item, 1);

功能是

int table::retrieve(char item_in[],item*item_list, int name_flag)

我确信这是一件我不理解的简单事,但我是新手。

1 个答案:

答案 0 :(得分:5)

您的通话失败的真正原因是因为您传递item&,其中您的功能需要item*。您的代码违反了字符串上的const正确性,但在C ++ 03中,它们有一个特殊的规则,使其合法。