Skip to content

Instantly share code, notes, and snippets.

@bagobor
Last active September 3, 2015 08:20
Show Gist options
  • Save bagobor/c97ddf32cc1ae1213c76 to your computer and use it in GitHub Desktop.
Save bagobor/c97ddf32cc1ae1213c76 to your computer and use it in GitHub Desktop.
[visual studio 2015]Selene error
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
struct SimpleVec2
{
float x, y;
};
#include <Selene/selene.h>
int main()
{
sel::State state{ true };
state["vec2"].SetClass<SimpleVec2>("x", &SimpleVec2::x);
return 0;
}
Full Error:
1>d:\dev\workshop\ext\selene\selene\basefun.h(36): error C2665: 'sel::detail::_check_get': none of the 5 overloads could convert all the argument types
1> d:\dev\workshop\ext\selene\selene\primitives.h(122): note: could be 'std::string sel::detail::_check_get(sel::detail::_id<std::string>,lua_State *,const int)'
1> d:\dev\workshop\ext\selene\selene\primitives.h(118): note: or 'bool sel::detail::_check_get(sel::detail::_id<bool>,lua_State *,const int)'
1> d:\dev\workshop\ext\selene\selene\primitives.h(114): note: or 'lua_Number sel::detail::_check_get(sel::detail::_id<lua_Number>,lua_State *,const int)'
1> d:\dev\workshop\ext\selene\selene\primitives.h(104): note: or 'unsigned int sel::detail::_check_get(sel::detail::_id<unsigned int>,lua_State *,const int)'
1> d:\dev\workshop\ext\selene\selene\primitives.h(96): note: or 'int sel::detail::_check_get(sel::detail::_id<int>,lua_State *,const int)'
1> d:\dev\workshop\ext\selene\selene\basefun.h(36): note: while trying to match the argument list '(sel::detail::_id<M>, lua_State *, size_t)'
1> with
1> [
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\basefun.h(42): note: see reference to function template instantiation 'std::tuple<M> sel::detail::_get_args<M,0>(lua_State *,sel::detail::_indices<0>)' being compiled
1> with
1> [
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\classfun.h(82): note: see reference to function template instantiation 'std::tuple<M> sel::detail::_get_args<M>(lua_State *)' being compiled
1> with
1> [
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\classfun.h(80): note: while compiling class template member function 'int sel::ClassFun<0,T,void,M>::Apply(lua_State *)'
1> with
1> [
1> T=SimpleVec2,
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(64): note: see reference to class template instantiation 'sel::ClassFun<0,T,void,M>' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(46): note: see reference to function template instantiation 'void sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::_register_member<M>(lua_State *,const char *,M SimpleVec2::* ,std::false_type)' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(46): note: see reference to function template instantiation 'void sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::_register_member<M>(lua_State *,const char *,M SimpleVec2::* ,std::false_type)' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(131): note: see reference to function template instantiation 'void sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::_register_member<float>(lua_State *,const char *,M SimpleVec2::* )' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(131): note: see reference to function template instantiation 'void sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::_register_member<float>(lua_State *,const char *,M SimpleVec2::* )' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(145): note: see reference to function template instantiation 'void sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::_register_members<floatSimpleVec2::* ,>(lua_State *,const char *,M)' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float SimpleVec2::*
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(145): note: see reference to function template instantiation 'void sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::_register_members<floatSimpleVec2::* ,>(lua_State *,const char *,M)' being compiled
1> with
1> [
1> T=SimpleVec2,
1> M=float SimpleVec2::*
1> ]
1> d:\dev\workshop\ext\selene\selene\class.h(136): note: while compiling class template member function 'sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::Class(lua_State *,sel::MetatableRegistry &,const std::string &,const char *,float SimpleVec2::* )'
1> with
1> [
1> T=SimpleVec2
1> ]
1> d:\dev\workshop\ext\selene\selene\registry.h(78): note: see reference to function template instantiation 'sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >::Class(lua_State *,sel::MetatableRegistry &,const std::string &,const char *,float SimpleVec2::* )' being compiled
1> with
1> [
1> T=SimpleVec2
1> ]
1> d:\dev\workshop\ext\selene\selene\registry.h(76): note: see reference to class template instantiation 'sel::Class<T,sel::Ctor<T>,const char *,float SimpleVec2::* >' being compiled
1> with
1> [
1> T=SimpleVec2
1> ]
1> d:\dev\workshop\ext\selene\selene\registry.h(71): note: see reference to function template instantiation 'void sel::Registry::RegisterClassWorker<T,,const char*,floatSimpleVec2::* >(const std::string &,const char *,float SimpleVec2::* )' being compiled
1> with
1> [
1> T=SimpleVec2
1> ]
1> d:\dev\workshop\ext\selene\selene\selector.h(266): note: see reference to function template instantiation 'void sel::Registry::RegisterClass<T,,const char*,floatSimpleVec2::* ,0,1>(const std::string &,std::tuple<const char *,float SimpleVec2::* >,sel::detail::_indices<0,1>)' being compiled
1> with
1> [
1> T=SimpleVec2
1> ]
1> d:\dev\workshop\tools\test-optics\test-optics.cpp(105): note: see reference to function template instantiation 'void sel::Selector::SetClass<SimpleVec2,,const char*,floatSimpleVec2::* >(const char *,float SimpleVec2::* )' being compiled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment