3
我正在設計一個類,它必須獲得unique_ptr的所有權,並且使用它。下面是代碼的最小化版本:在C++中移動unique_ptr
Chunk.h:
class Chunk {
public:
Chunk(std::unique_ptr<unsigned char[]> contents);
std::unique_ptr<char[]> contents;
};
Chunk.cpp:
Chunk::Chunk(std::unique_ptr<unsigned char[]> content):
contents(std::move(content)){ }
,但它不能,雖然這個錯誤編譯:
no matching function for call to ‘std::unique_ptr<char []>::unique_ptr(std::remove_reference<std::unique_ptr<unsigned char []>&>::type)’
你爲什麼使用'''模板作爲參數,''模板作爲成員? –
Aracthor
當然,參數應該是對'unique_ptr'或右值引用(&&)的非const引用? –
@Aracthor哦不!這是大約3小時,我檢查它,我沒有注意到這個愚蠢的錯誤! – hamed1soleimani