2xuống bầuyêu thíchTôi đã nhận lỗi này lạ khi biên soạn dự án của tôi với Visual Studio 2012:lỗi C2562: ' std::_Callable_obj < _Ty >:: _ApplyX': 'void' chức năng trở về một giá trị C:Program Files (x 86) Microsoft Visual Studio 11.0VCincludexrefwrapKhi nhảy trong xrefwrap, lỗi xuất phát từ dòng này:_VARIADIC_EXPAND_0X(_APPLYX_CALLOBJ,,,,)Mã của tôi biên dịch tốt với GCC trên Linux... Hơn nữa, trình biên dịch mang lại cho tôi không có thông tin về những gì đang gây ra lỗi này.Những gì có thể là nguyên nhân của lỗi này? Tôi nghi ngờ này đoạn mã có thể là nguồn gốc, nhưng chỉ vì tôi sử dụng std::ref có:_listener.addSocket (clientSock, std::bind (Client::handleReceive, & khách hàng, _1, std::ref(*this)), STD::Bind (& Lounge::handleClientDisconnect, này, STD::cref(Client)));Dưới đây là hai chữ ký của các chức năng tài khoản của tôi ràng buộc:bool Client::handleReceive (std::shared_ptr& ổ cắm, Lounge & lounge);làm mất hiệu lực Lounge::handleClientDisconnect (const khách hàng & c);Tôi trở về một giá trị trong Client::handleReceive.Và đây là hai chiếc nguyên mẫu std::function tôi đang sử dụng khi gọi addSocket:typedef std::function&) > readCallback;typedef std::function disconnectCallback;
đang được dịch, vui lòng đợi..