没有重载函数的实例与参数列表匹配

时间:2018-12-24 16:19:28

标签: c

错误:

E0304   no instance of overloaded function "strstr" matches the argument 
list    testtranslator  
E0304   no instance of overloaded function "strstr" matches the argument 
list    testtranslator  
E0167   argument of type "const char **" is incompatible with parameter of 
type "const char *" testtranslator
C2665   'strstr': none of the 2 overloads could convert all the argument 
types   testtranslator  
C2665   'strstr': none of the 2 overloads could convert all the argument 
types   testtranslator  
C2664   'size_t strlen(const char *)': cannot convert argument 1 from 'const 
char *[2]' to 'const char *'

我对编程非常陌生,但是我必须在第二天后才能编写此英语-法语文本翻译器的代码。 它必须用给定的单词或短语替换单词。我的文字是以下的“你好”,“什么”和“你好吗?”。我需要将其翻译为“ Salut”,“评论vas-tu?” 我不知道如何处理错误,我将非常感谢您的帮助。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您正在尝试通过const char**作为word参数,而我想您的想法是通过const char*。看来您需要从word数组中选择特定的单词,如下所示:

strstr(string, word[0])

因为您最近将其声明为:

const char *word[] = {
    "hello", 
    "what"
};

而且,顺便说一下,将word重命名为words,这可能会阻止您进一步感到困惑。