在 C++Amp 中编写代码时,我遇到了一个非常奇怪的异常。我定义了两个 concurrency::array 对象,如下所示:
concurrency::array<float, 2> img_amp_data(11, 11, image_data.begin());
concurrency::array<float> a_amp_result(121, empty_vec.begin());
当我想访问第一个元素时
std::cout << img_amp_data[0][0] << std::endl;
一切运行正常,但是当我想访问第二个时
std::cout << a_amp_result[0] << std::endl;
我收到以下异常:
例外:(在 CPU 上无法访问该阵列)
这是一个非常奇怪的情况,因为我可以访问 2+ 维数组并且禁止仅访问一维数组?有任何想法吗?