AllesUgo 2021-12-27 13:55 采纳率: 100%
浏览 79
已结题

C++/CX UWP create_task编译时无法通过,错误C2338

问题遇到的现象和发生背景

只要代码中出现下面这一段代码就会编译报错

问题相关代码,请勿粘贴截图
create_task(dataReader->LoadAsync(1024 * 1024)).then([dataReader](void)
        {
            Buffer^ buff;
            WriteOnlyArray<unsigned char>^ arry;
            dataReader->ReadBytes(arry);
            unsigned char* p = arry->begin();
        });

运行结果及报错内容

编译时产生以下报错:

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2338 incorrect parameter type for the callable object in 'then'; consider _ExpectedParameterType or task<_ExpectedParameterType> (see below) CX-UWP C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\ppltasks.h 386

我的解答思路和尝试过的方法

这段代码还在其他的create_task里面套着,但是我试过将他单独拿出来,编译报错结果一样,不清楚原因

我想要达到的结果
//那一段的完整代码时这样
create_task(Windows::Storage::FileIO::ReadBufferAsync(OpenFile)).then([](Windows::Storage::Streams::IBuffer^ buffer)
        {
            auto reader = Windows::Storage::Streams::DataReader::FromBuffer(buffer);
            //获取文件长度
            String^ length = reader->ReadString(buffer->Length);
            //打开文件流
            create_task(OpenFile->OpenAsync(Windows::Storage::FileAccessMode::Read)).then([](Windows::Storage::Streams::IRandomAccessStream^ stream)
                {
                    Windows::Storage::Streams::IInputStream^ inputStream = stream->GetInputStreamAt(0);
                    DataReader^ dataReader = ref new  Windows::Storage::Streams::DataReader(inputStream);
                    create_task(dataReader->LoadAsync(1024 * 1024)).then([dataReader](void)
                        {
                            Buffer^ buff;
                            WriteOnlyArray<unsigned char>^ arry;
                            dataReader->ReadBytes(arry);
                            unsigned char* p = arry->begin();
                        });
                });
        });

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-12-28 14:15
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 创建了问题 12月27日

悬赏问题

  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao