我声明了以下 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));
还是没有成功。有什么建议吗?
最佳答案
查看该函数的声明:
const char *
ssh_userauth_kbdint_getprompt (ssh_session session, unsigned int i, char *echo)
因此 prompt
需要是 const char *
而不是 char *
。
关于c - 来自 const 的无效转换,但未声明为 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13711199/