您能否告诉我这段代码有什么不对,以及有关如何解决的任何想法?
JNIEXPORT jstring JNICALL Java_COM_DEMO_TEST_SEND (JNIEnv
*env, jclass c, jstring param){
const char* strParam = env->GetStringUTFChars(param, 0);
UString data = s2ws(string(strParam));
UString result = TEST::SEND(data);
return env->NewStringUTF(ws2s(result).c_str());
}
我收到了以下错误。
error: conversion from ‘std::wstring {aka std::basic_string<wchar_t>}’ to non-scalar type ‘UString {aka std::basic_string<char>}’ requested
UString data = s2ws(string(strParam));
答案 0 :(得分:2)
实际上错误非常好;您尝试使用std::string
但是您有std::wstring
,并且编译器不知道如何将其转换为另一个。
他们都是std::basic_string
的两个专业并不意味着它们可以互换。