We do not recommend C++ to people who are new because it's pretty common to get errors like this these days while compiling, if you don't exactly know what you are doing.
And these are the least of your worries.
Code: Select all
In file included from ..\SeriousProton2\include/sp2/script/bindingClass.h:7:0,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:6,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
..\SeriousProton2\include/sp2/script/luaBindings.h: In instantiation of 'std::tuple<_Elements ...> sp::script::getArgs(sp::script::sequence<N ...>) [with ARGS = {float, short int}; unsigned int ...N = {0u, 1u}]':
..\SeriousProton2\include/sp2/script/luaBindings.h:31:28: required from 'std::tuple<_Elements ...> sp::script::getArgs() [with ARGS = {float, short int}]'
..\SeriousProton2\include/sp2/script/luaBindings.h:117:48: required from 'int sp::script::callMember(lua_State*) [with TYPE = Enemy; RET = void; ARGS = {float, short int}; lua_State = lua_State]'
..\SeriousProton2\include/sp2/script/bindingClass.h:26:25: required from 'void sp::ScriptBindingClass::bind(sp::string, RET (TYPE::*)(ARGS ...)) [with TYPE = Enemy; RET = void; ARGS = {float, short int}]'
C:\Software\iMvaders2\src\enemy.cpp:211:54: required from here
..\SeriousProton2\include/sp2/script/luaBindings.h:26:46: error: no matching function for call to 'convertFromLua(sp::script::typeIdentifier<short int>, unsigned int)'
return std::tuple<ARGS...>{convertFromLua(typeIdentifier<ARGS>{}, N + 1)...};
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ..\SeriousProton2\include/sp2/script/bindingClass.h:7:0,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:6,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
..\SeriousProton2\include/sp2/script/luaBindings.h:160:22: note: candidate: sp::string sp::script::convertFromLua(sp::script::typeIdentifier<sp::string>, int)
static inline string convertFromLua(typeIdentifier<string>, int index)
^~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:160:22: note: no known conversion for argument 1 from 'sp::script::typeIdentifier<short int>' to 'sp::script::typeIdentifier<sp::string>'
..\SeriousProton2\include/sp2/script/luaBindings.h:155:22: note: candidate: double sp::script::convertFromLua(sp::script::typeIdentifier<double>, int)
static inline double convertFromLua(typeIdentifier<double>, int index)
^~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:155:22: note: no known conversion for argument 1 from 'sp::script::typeIdentifier<short int>' to 'sp::script::typeIdentifier<double>'
..\SeriousProton2\include/sp2/script/luaBindings.h:150:21: note: candidate: float sp::script::convertFromLua(sp::script::typeIdentifier<float>, int)
static inline float convertFromLua(typeIdentifier<float>, int index)
^~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:150:21: note: no known conversion for argument 1 from 'sp::script::typeIdentifier<short int>' to 'sp::script::typeIdentifier<float>'
..\SeriousProton2\include/sp2/script/luaBindings.h:145:19: note: candidate: int sp::script::convertFromLua(sp::script::typeIdentifier<int>, int)
static inline int convertFromLua(typeIdentifier<int>, int index)
^~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:145:19: note: no known conversion for argument 1 from 'sp::script::typeIdentifier<short int>' to 'sp::script::typeIdentifier<int>'
..\SeriousProton2\include/sp2/script/luaBindings.h:140:20: note: candidate: bool sp::script::convertFromLua(sp::script::typeIdentifier<bool>, int)
static inline bool convertFromLua(typeIdentifier<bool>, int index)
^~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:140:20: note: no known conversion for argument 1 from 'sp::script::typeIdentifier<short int>' to 'sp::script::typeIdentifier<bool>'
..\SeriousProton2\include/sp2/script/luaBindings.h:129:25: note: candidate: template<class T> T* sp::script::convertFromLua(sp::script::typeIdentifier<TYPE*>, int)
template<typename T> T* convertFromLua(typeIdentifier<T*>, int index)
^~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:129:25: note: template argument deduction/substitution failed:
In file included from ..\SeriousProton2\include/sp2/script/bindingClass.h:7:0,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:6,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
..\SeriousProton2\include/sp2/script/luaBindings.h:26:46: note: mismatched types 'TYPE*' and 'short int'
return std::tuple<ARGS...>{convertFromLua(typeIdentifier<ARGS>{}, N + 1)...};
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\SeriousProton2\include/sp2/script/luaBindings.h:26:80: error: no matching function for call to 'std::tuple<float, short int>::tuple(<brace-enclosed initializer list>)'
return std::tuple<ARGS...>{convertFromLua(typeIdentifier<ARGS>{}, N + 1)...};
^
In file included from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/bits/unique_ptr.h:37:0,
from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/bits/locale_conv.h:41,
from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/locale:43,
from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/iomanip:43,
from ..\SeriousProton2\include/sp2/string.h:9,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:5,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1139:18: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && (! _ImplicitlyMoveConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)
explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1139:18: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1129:9: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && _ImplicitlyMoveConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)
tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1129:9: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1119:18: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && (! _ImplicitlyConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)
explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1119:18: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1109:9: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && _ImplicitlyConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)
tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1109:9: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1098:11: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && (! _ImplicitlyMoveConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)
explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1098:11: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1088:2: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && _ImplicitlyMoveConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)
tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1088:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1076:11: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && (! _ImplicitlyConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)
explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1076:11: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1064:2: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && _ImplicitlyConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)
tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1064:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1055:2: note: candidate: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_T1, _T2>&&)
tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1055:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1051:2: note: candidate: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_T1, _T2>&)
tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1051:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1045:11: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && (! _ImplicitlyMoveConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)
explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1045:11: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1035:2: note: candidate: template<class _Alloc, class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && _ImplicitlyMoveConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)
tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1035:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1025:11: note: candidate: template<class _Alloc, class _Dummy, typename std::enable_if<(std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ConstructibleTuple<float, short int>() && (! std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ImplicitlyConvertibleTuple<float, short int>())), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)
explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1025:11: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1013:2: note: candidate: template<class _Alloc, class _Dummy, typename std::enable_if<(std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ConstructibleTuple<float, short int>() && std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ImplicitlyConvertibleTuple<float, short int>()), bool>::type <anonymous> > std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)
tuple(allocator_arg_t __tag, const _Alloc& __a,
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1013:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1002:2: note: candidate: template<class _Alloc> std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&)
tuple(allocator_arg_t __tag, const _Alloc& __a)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:1002:2: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:995:28: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && (! _ImplicitlyMoveConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)
explicit constexpr tuple(pair<_U1, _U2>&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:995:28: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:985:19: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && _ImplicitlyMoveConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)
constexpr tuple(pair<_U1, _U2>&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:985:19: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:976:28: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && (! _ImplicitlyConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)
explicit constexpr tuple(const pair<_U1, _U2>& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:976:28: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:967:19: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && _ImplicitlyConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)
constexpr tuple(const pair<_U1, _U2>& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:967:19: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:958:28: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && (! _ImplicitlyMoveConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)
explicit constexpr tuple(tuple<_U1, _U2>&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:958:28: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:949:19: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && _ImplicitlyMoveConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)
constexpr tuple(tuple<_U1, _U2>&& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:949:19: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:940:28: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && (! _ImplicitlyConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)
explicit constexpr tuple(const tuple<_U1, _U2>& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:940:28: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:931:19: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_ConstructibleTuple<_U1, _U2>() && _ImplicitlyConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)
constexpr tuple(const tuple<_U1, _U2>& __in)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:931:19: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:923:17: note: candidate: constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_T1, _T2>&&) [with _T1 = float; _T2 = short int]
constexpr tuple(tuple&&) = default;
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:923:17: note: conversion of argument 1 would be ill-formed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:921:17: note: candidate: constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_T1, _T2>&) [with _T1 = float; _T2 = short int]
constexpr tuple(const tuple&) = default;
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:921:17: note: conversion of argument 1 would be ill-formed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:918:28: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && (! _ImplicitlyMoveConvertibleTuple<_U1, _U2>())), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)
explicit constexpr tuple(_U1&& __a1, _U2&& __a2)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:918:28: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:909:19: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructibleTuple<_U1, _U2>() && _ImplicitlyMoveConvertibleTuple<_U1, _U2>()), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)
constexpr tuple(_U1&& __a1, _U2&& __a2)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:909:19: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:896:28: note: candidate: template<class _Dummy, typename std::enable_if<(std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ConstructibleTuple<float, short int>() && (! std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ImplicitlyConvertibleTuple<float, short int>())), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&)
explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:896:28: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:887:19: note: candidate: template<class _Dummy, typename std::enable_if<(std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ConstructibleTuple<float, short int>() && std::_TC<std::is_same<_Dummy, void>::value, float, short int>::_ImplicitlyConvertibleTuple<float, short int>()), bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&)
constexpr tuple(const _T1& __a1, const _T2& __a2)
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:887:19: note: template argument deduction/substitution failed:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:873:26: note: candidate: template<class _U1, class _U2, typename std::enable_if<std::__and_<std::is_default_constructible<_Tp>, std::is_default_constructible<_U2>, std::__not_<std::__and_<std::__is_implicitly_default_constructible<_U1>, std::__is_implicitly_default_constructible<_U2> > > >::value, bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple()
explicit constexpr tuple()
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:873:26: note: template argument deduction/substitution failed:
In file included from ..\SeriousProton2\include/sp2/script/bindingClass.h:7:0,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:6,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
..\SeriousProton2\include/sp2/script/luaBindings.h:26:80: note: candidate expects 0 arguments, 1 provided
return std::tuple<ARGS...>{convertFromLua(typeIdentifier<ARGS>{}, N + 1)...};
^
In file included from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/bits/unique_ptr.h:37:0,
from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/bits/locale_conv.h:41,
from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/locale:43,
from C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/iomanip:43,
from ..\SeriousProton2\include/sp2/string.h:9,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:5,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:859:17: note: candidate: template<class _U1, class _U2, typename std::enable_if<std::__and_<std::__is_implicitly_default_constructible<_U1>, std::__is_implicitly_default_constructible<_U2> >::value, bool>::type <anonymous> > constexpr std::tuple<_T1, _T2>::tuple()
constexpr tuple()
^~~~~
C:/mingw-w64/i686-6.1.0-release-posix-dwarf-rt_v5-rev0/lib/gcc/i686-w64-mingw32/6.1.0/include/c++/tuple:859:17: note: template argument deduction/substitution failed:
In file included from ..\SeriousProton2\include/sp2/script/bindingClass.h:7:0,
from ..\SeriousProton2\include/sp2/script/bindingObject.h:6,
from ..\SeriousProton2\include/sp2/scene/node.h:6,
from C:\Software\iMvaders2\src\spaceObject.h:4,
from C:\Software\iMvaders2\src\enemy.h:4,
from C:\Software\iMvaders2\src\enemy.cpp:1:
..\SeriousProton2\include/sp2/script/luaBindings.h:26:80: note: candidate expects 0 arguments, 1 provided
return std::tuple<ARGS...>{convertFromLua(typeIdentifier<ARGS>{}, N + 1)...};