2

C++Amp でコードを書いているときに、非常に奇妙な例外が発生しました。次のように 2 つの 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; 

すべてが正常に動作しますが、2 番目のものにアクセスしたい場合

std::cout << a_amp_result[0] << std::endl; 

次の例外が発生します。

例外: (アレイは CPU でアクセスできません)

2次元以上の配列にアクセスでき、1次元配列のみにアクセスすることは禁止されているため、これは非常に奇妙な状況ですか? 何か案は?

4

1 に答える 1