私は[example.cc]方法にしている:php拡張メソッドから文字列を返す方法は?
:std::string Car::accelerate (std::string n)
{
cout<<n<<endl;
return n;
}
私は[test_php.cc]拡張機能でこれを書いたPHP拡張
からこのメソッドを呼び出すしたいと思います
char *strr=NULL;
int strr_len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &strr, &strr_len) == FAILURE) {
RETURN_NULL();
}
std::string s(strr);
RETURN_STRING(car->accelerate(s),1);
私は次のエラーしている:私は
warning: deprecated conversion from string constant to ‘char*’
/home/me.cc:79: error: cannot convert ‘std::string’ to ‘const char*’ in initialization
/home/me.cc: At global scope:warning: deprecated conversion from string constant to ‘char*’
を変更した場合return_string(..)_単純な呼び出しでcar->accelerate(s)
;それはうまくいきます。リターン関数として何も印刷しないのは本当です。助けが要る。ありがとう
どのライン79がわかるようにライン番号を入力できますか? – VolatileStorm
これはRETURN_STRING行です – sunset