[example.cc]にメソッドがあります:
std::string Car::accelerate (std::string n)
{
cout<<n<<endl;
return n;
}
このメソッドをphp拡張機能から呼び出したい
私はこれを[test_php.cc]拡張子に書きました:
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)
; それは動作します..それはreturn関数として何も出力しないのは本当です。助けが要る。感謝