升压 v1.54
我最初在一个运行良好的 .cpp 文件中为此编写了我的测试,但是当尝试将它与我的类合并到我的源代码中时,我遇到了以下持续错误:
error: no matching function for call to ‘boost::posix_time::seconds::seconds()’
Database::Database()
error: no matching function for call to ‘boost::asio::basic_deadline_timer<boost::posix_time::ptime>::basic_deadline_timer()’
Database::Database()
error: no match for call to ‘(boost::posix_time::seconds) (int)’
interval(1); // 1 second
我做了一些阅读,发现我必须在我的构造函数中初始化这些,并尝试这样做,但这并没有解决我的问题。
a.cpp - 数据库构造函数
Database::Database()
{
interval(1);
timer(io_service,interval);
}
啊
class Database
{
public:
boost::posix_time::seconds interval;
boost::asio::io_service io_service;
boost::asio::deadline_timer timer;
};
编辑 我现在通过将构造函数初始化为列表来解决我的问题:
Database::Database()
: interval(1), timer(io_service, interval) {};