首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在受限的C++-AMP中不支持类型'string‘

在受限的C++-AMP中不支持类型'string‘
EN

Stack Overflow用户
提问于 2013-06-26 10:18:28
回答 1查看 348关注 0票数 3

我正在尝试将boost::variant 2D矢量复制到array<T,N>中。使用指令copy(vectorName.begin(), extentName);。首先,我得到了错误,因为向量类型是variant,这是可以理解的。但是,在我将向量类型更改为字符串后,我得到了一个错误,表明此类型在受限的放大器中不受支持。以下代码片段是目标代码:

代码语言:javascript
复制
    const int x = 100;
    const int y = 100;

    concurrency::extent<2> eA(x,y), eB(x,y), eC(x,y);
    concurrency::array<string, 2> mA(eA), mB(eB), mC(eC);

    tCopyIn.Start();
    copy(masterList[0].begin(), mA);
    copy(masterList[1].begin(), mB);
    copy(masterList[2].begin(), mC);
    tCopyIn.Stop();

由此:

代码语言:javascript
复制
vector<vector<vector<boost::variant<string, float>>>> masterList;

有没有办法在C++-AMP中处理字符串?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-27 15:04:39

错误信息是正确的,很遗憾,C++ AMP不支持字符串或字符。支持的最小数据类型是int。有一些技巧/技术可以绕过这个限制,它们涉及到将字符更大地转换为整型。

这里有一篇关于如何做到这一点的好文章:,还有一篇包含源代码的文章。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17310521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档