我声明了以下char*
并尝试将其传递给需要char *
作为第三个参数的函数:
char *echo;
prompt = ssh_userauth_kbdint_getprompt(primarySession, 0, echo);
然而,我收到错误:
error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
我还尝试声明为char echo;
,传递的参数为&echo
。但我真的不需要echo
中此函数更改的值。所以我想传递NULL,但我想我希望它是const
。我也试过this trick:
char echo;
prompt = ssh_userauth_kbdint_getprompt(primarySession, 0, (char *)(&echo));
仍然没有成功。建议?
答案 0 :(得分:3)
查看该函数的声明:
const char *
ssh_userauth_kbdint_getprompt (ssh_session session, unsigned int i, char *echo)
因此,prompt
需要const char *
而不是char *
。
答案 1 :(得分:1)
问题在于该函数的返回值,而不是其任何参数。
答案 2 :(得分:0)
可能错误不在您想到的地方,而是在返回类型中。我猜你的prompt
变量是char*
,其中函数返回char const*
。