簡體   English   中英

從&#39;std :: wstring {aka std :: basic_string <wchar_t> }&#39;轉換為非標量類型&#39;UString {aka std :: basic_string <char> }&#39;

[英]conversion from ‘std::wstring {aka std::basic_string<wchar_t>}’ to non-scalar type ‘UString {aka std::basic_string<char>}’

您能告訴我這段代碼有什么問題嗎,以及有關如何解決的任何想法?

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));

實際上,該錯誤非常好; 您正在嘗試使用std::string但您有一個std::wstring ,並且編譯器不知道如何將一個轉換為另一個。

它們都是std::basic_string這一事實並不意味着它們是可互換的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM