【发布时间】:2017-07-25 11:02:49
【问题描述】:
我也是 UWP 和 c++ 的新手。 我正在尝试编写一个处理 http-api 的简单应用程序。 我的例子:
void ForecastFromMSW::MainPage::GetTheCity(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
String ^mystr = "http://google.com"; // creating a string object
Uri url(mystr); // crating an url object
HttpClient cli; //creating an object of HttpClient
cli.GetAsync(url); // pass url object to cli
}
来自编译器的消息:
1>------ Build started: Project: ForecastFromMSW, Configuration: Debug Win32 ------
1> MainPage.xaml.cpp
1>c:\users\9maf4you\documents\visual studio 2015\projects\forecastfrommsw\forecastfrommsw\mainpage.xaml.cpp(38): error C2664: 'Windows::Foundation::IAsyncOperationWithProgress<Windows::Web::Http::HttpResponseMessage ^,Windows::Web::Http::HttpProgress> ^Windows::Web::Http::HttpClient::GetAsync(Windows::Foundation::Uri ^,Windows::Web::Http::HttpCompletionOption)': cannot convert argument 1 from 'Windows::Foundation::Uri' to 'Windows::Foundation::Uri ^'
1> c:\users\9maf4you\documents\visual studio 2015\projects\forecastfrommsw\forecastfrommsw\mainpage.xaml.cpp(38): note: No user-defined-conversion operator available, or
1> c:\users\9maf4you\documents\visual studio 2015\projects\forecastfrommsw\forecastfrommsw\mainpage.xaml.cpp(38): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========
我明白了,编译器无法将一种类型转换为另一种类型,我知道我必须将 ^Uri 传递给 GetAsync。但我不知道我应该怎么做。 谢谢。
【问题讨论】: