配列バージョンを使用してください:
auto testData = std::unique_ptr<unsigned char[]>{ new unsigned char[16000] };
または、より良い形式の c++14 を使用する (VS2013 には既にあります):
auto testData = std::make_unique<unsigned char[]>( 16000 );
T[]
の使用 専門:
std::unique_ptr<unsigned char[]> testData(new unsigned char[16000]());
理想的な世界では、明示的に new
を使用する必要はないことに注意してください unique_ptr
をインスタンス化する 、潜在的な例外の安全上の落とし穴を回避します。この目的のために、C++14 は std::make_unique
を提供します。 関数テンプレート。詳細については、この優れた GOTW を参照してください。構文は次のとおりです:
auto testData = std::make_unique<unsigned char[]>(16000);