diff --git a/qse/include/qse/Types.hpp b/qse/include/qse/Types.hpp index ab715953..ab5aaf17 100644 --- a/qse/include/qse/Types.hpp +++ b/qse/include/qse/Types.hpp @@ -34,7 +34,7 @@ #include #include -#if (__cplusplus >= 201103L) // C++11 +#if (__cplusplus >= 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1900) // C++11 or later #define QSE_CPP_NOEXCEPT noexcept(true) #define QSE_CPP_EXPLICIT explicit diff --git a/qse/include/qse/si/Thread.hpp b/qse/include/qse/si/Thread.hpp index 69446c28..bd16a6ff 100644 --- a/qse/include/qse/si/Thread.hpp +++ b/qse/include/qse/si/Thread.hpp @@ -118,8 +118,10 @@ class ThreadC: public Thread { public: ThreadC () {} - ThreadC (F& f): __lfunc(f) { } - //ThreadC (F&& f): __lfunc(QSE_CPP_RVREF(f)) { } + ThreadC (const F& f): __lfunc(f) {} +#if defined(QSE_CPP_ENABLE_CPP11_MOVE) + ThreadC (F&& f): __lfunc(QSE_CPP_RVREF(f)) {} +#endif static int call_func (qse_thr_t* thr, void* ctx) {