0

私は次のことを宣言し、それを3番目の引数としてchar*を必要とする関数に渡そうとしました。char *

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ある必要があります。const char *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 に答える