Đoạn mã sau gây cl.exe bị lỗi (MS VS2005).
Tôi cố gắng để sử dụng tăng ràng buộc để tạo ra một chức năng để một gọi một phương pháp myclass:Cách sử dụng liên kết tăng cường với chức năng thành viên
#include "stdafx.h"
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <functional>
class myclass {
public:
void fun1() { printf("fun1()\n"); }
void fun2(int i) { printf("fun2(%d)\n", i); }
void testit() {
boost::function<void()> f1(boost::bind(&myclass::fun1, this));
boost::function<void (int)> f2(boost::bind(&myclass::fun2, this)); //fails
f1();
f2(111);
}
};
int main(int argc, char* argv[]) {
myclass mc;
mc.testit();
return 0;
}
Tôi đang làm gì sai?
bất kỳ cơ hội nào bạn có thể trợ giúp với http://stackoverflow.com/questions/13074756/how-to-avoid-static-member-function-when-using-gsl-with-c này? nó tương tự nhưng 'std :: function' đưa ra một lỗi –
Cảm ơn bạn, điều này là khó hiểu nhưng câu trả lời của bạn đã lưu thịt xông khói của tôi! – portforwardpodcast