首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >歧义语句C++-AMP:(范围)不明确

歧义语句C++-AMP:(范围)不明确
EN

Stack Overflow用户
提问于 2013-06-18 20:50:27
回答 1查看 375关注 0票数 3

我正在尝试用C++-AMP编写一段代码,将多个2D向量复制到GPU内存中进行处理。但是,一旦我开始使用表达式extent<2> eM(100,100);,我就会遇到这样的错误:"extent“是不明确的。与C++中的任何其他区段表达式是否存在冲突?是因为我使用的库吗?这些都是我已经包含的库和命名空间,我不能包含代码,它太长了,会让人感到困惑。

代码语言:javascript
复制
#include "stdafx.h"
#include <Windows.h>
#include <stdint.h>
#include <amp.h>
#include <Shlwapi.h>
#include <vector>
#include <random>
#include <iostream>
using std::endl;
using std::cout;
#include <iomanip>
#include "timer.h"
#include <fstream>
using std::ifstream;
#include <cstring>
#include <sstream>
#include <tchar.h>
using namespace std;
using namespace concurrency;
using std::vector;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 23:47:17

这条消息意味着编译器不知道你想要的是std::extent还是concurrency::extent。有三种方法可以解决这个问题:

  • 删除引入std::extent#include -这不太可能是一个好的解决方案,因为无论何时使用它,您都可能需要从该头
  • call concurrency::extent中调用它的全名的内容-尴尬,但将工作
  • 删除d11,并将其替换为您在#include语句中看到的单个语句。

我最喜欢最后一个,尽管它有更多的工作。发现您需要其中哪一个的最佳方法是删除using namespace std;并编译。错误消息将让您知道您正在使用std中的哪些类型。

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

https://stackoverflow.com/questions/17169332

复制
相关文章

相似问题

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