0

我声明了以下内容char*并尝试将其传递给需要 achar *作为第三个参数的函数:

char *echo;
prompt = ssh_userauth_kbdint_getprompt(primarySession, 0, echo);

但是,我收到错误:

error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

我还尝试了声明 aschar echo;和传递的参数 as &echo。但我真的不需要这个函数在echo. 所以我想传递 NULL,但我想我希望它是一个const. 我也试过这个技巧

char echo;
prompt = ssh_userauth_kbdint_getprompt(primarySession, 0, (char *)(&echo));

仍然没有成功。建议?

4

3 回答 3

3

查看该函数的声明:

const char *
ssh_userauth_kbdint_getprompt (ssh_session session, unsigned int i, char *echo)

因此,它prompt需要是 aconst char *而不是 a char *

于 2012-12-04T20:23:07.233 回答
1

问题在于该函数的返回值,而不是它的任何参数。

于 2012-12-04T20:24:06.060 回答
0

可能错误不在您想的地方,而是在返回类型中。我猜你的prompt变量是char*函数返回的地方char const*

于 2012-12-04T20:24:23.617 回答