私はを使用してboost::asio::steady_timer _timer
いますが、-std = c ++ 11フラグを使用すると、コンパイラは次の場所でタイプを変換できないというエラーを報告することがわかりました。
boost::asio::steady_timer::time_point now() {
return boost::asio::steady_timer::clock_type::now();
}
次の場所にoperator+()の一致関数がありません:
_timer.expires_at(now()+boost::chrono::milliseconds(100));
コンパイラはc++11モードで正しい型を推測できないようです。しかし、代わりに私は使用しています
boost::asio::basic_waitable_timer<boost::chrono::steady_clock> _timer;
に変更boost::asio::steady_timer::time_point
し
ますboost::chrono::steady_clock::time_point
大丈夫です。ただし、これらは同じものであり、0xまたは11モードのないg++で正常に動作します。
C ++ 11はtypedefの推論について何か違うことをしますか?またはブースト構成の問題?