gpt4 book ai didi

c++ - 数组作为 ValueSet 中的值

转载 作者:行者123 更新时间:2023-12-01 14:20:29 27 4
gpt4 key购买 nike

我的目标是将字符串数组作为值添加到 ValueSet 中。我可以在 C# 中完成,没有任何问题,但在 C++-WinRT 中会遇到一些问题。

我正在尝试将 array_view 传递给 box_value 以便将其转换为 IInspectable 类型,但出现错误 T 必须是WinRT 类型。这是检查问题的示例代码:

ValueSet MyValueSet;
hstring key(L"key");
vector<wstring> mystringvalues{ L"1",L"2" };
std::vector<hstring> hvector;
for (std::wstring v : mystringvalues) {
hvector.push_back(hstring(v));
}
array_view<hstring> hvalue(hvector);
IInspectable keyValue = box_value(hvalue);
MyValueSet.Insert(key, keyValue);

请告知我怎样才能做到这一点。

最佳答案

参见 https://learn.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/collections关于如何创建 Collection 对象。

这段代码应该可以工作:

ValueSet myValueSet;
hstring key(L"key");
std::vector<std::wstring> mystringvalues{ L"1",L"2" };
std::vector<hstring> hvector;
for (std::wstring v : mystringvalues) {
hvector.push_back(hstring(v));
}
myValueSet.Insert(key, winrt::single_threaded_vector(std::move(hvector)));

或更短:

ValueSet myValueSet;
myValueSet.Insert(L"key", winrt::single_threaded_vector<hstring>({L"1", L"2"}));

关于c++ - 数组作为 ValueSet 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56249722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com