我得到一個std :: function回調函數的編譯錯誤。這裏的類聲明:std :: function回調函數
class Cloud
{
// ...
public:
Cloud (std::string end_point) : end_point(end_point) {}
void operator() (std::function<void(rapidjson::Document)> callback);
};
我的回調存儲在私有變量,然後在類的功能,我想引用這樣的回調:
rapidjson::Document document;
this->callback(document);
此代碼給我錯誤:
/Users/petilodie/Projects/TheGame/client/Classes/Cloud.cpp:67:20: Calling a private constructor of class 'rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>'
我是新來的C + +,我敢肯定我在這裏做錯了什麼。任何幫助表示讚賞。
'rapidjson :: Document'是不可拷貝。您需要通過引用將它傳遞給回調。 –