C++/CX を使用して Windows phone アプリケーションを作成しています。この関数は、入力配列を出力配列に非同期的にコピーしようとします。
IAsyncAction CopyAsync(const Platform::Array<byte, 1>^ input, Platform::WriteOnlyArray<byte, 1>^ output)
{
byte *inputData = input->Data;
byte *outputData = output->Data;
int byteCount = input->Length;
// if I put it here, there is no error
//memcpy_s(outputData, byteCount, inputData, byteCount);
return concurrency::create_async([&]() -> void {
memcpy_s(outputData, byteCount, inputData, byteCount); // access violation exception
return;
});
}
この関数はコンパイルされますが、正しく実行できず、「アクセス違反の例外」が発生します。出力配列の値を変更するにはどうすればよいですか?