We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using G++ with sublime text
When using usertypes I get a bunch of undefined errors when compiling. They only pop up when defining usertypes.
here is a reproduction of it
#define SOL_ALL_SAFETIES_ON 1 #include <stdio.h> #include <string> #include <vector> #include "include/sol.hpp" struct Test1 { public: Test1(int cards) { printf("%i", cards); } } struct Test2 { public: Test2() { } void taxEvasion(int money) { printf("%i dollars stolen from the goverment", money); } } int main(int argc, char* args[]) { sol::state lua; lua.open_libraries(sol::lib::base, sol::lib::coroutine, sol::lib::string, sol::lib::io, sol::lib::math); sol::usertype<Test1> testType = lua.new_usertype<Test1>("Depression", sol::constructors<Test1(int)>()); sol::usertype<Test2> GameType = lua.new_usertype<Test2>("Crime", "TaxEvade",&Test2::taxEvasion); lua.script_file("main.lua"); return 0; }
here is the console log
g++ -Wall -std=c++17 -Iinclude -Iengine -c -o main.o main.cpp In file included from main.cpp:5:0: include/sol.hpp: In instantiation of 'std::__cxx11::string sol::usertype_detail::make_string(Arg&&) [with Arg = sol::state_view&; std::__cxx11::string = std::__cxx11::basic_string<char>]': include/sol.hpp:18862:168: required from 'sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...>::usertype_metatable(Args&& ...) [with Args = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}; <template-parameter-2-2> = void; T = App; unsigned int ...I = {0u}; Tn = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}]' c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\unique_ptr.h:791:30: required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = sol::usertype_metatable<App, std::integer_sequence<unsigned int, 0u>, sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&>; _Args = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<sol::usertype_metatable<App, std::integer_sequence<unsigned int, 0u>, sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&>, std::default_delete<sol::usertype_metatable<App, std::integer_sequence<unsigned int, 0u>, sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&> > >]' include/sol.hpp:19814:118: required from 'sol::usertype<T>::usertype(sol::detail::verified_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}; T = App]' include/sol.hpp:19820:87: required from 'sol::usertype<T>::usertype(sol::detail::add_destructor_tag, Args&& ...) [with Args = {sol::state_view&}; T = App]' include/sol.hpp:19825:190: required from 'sol::usertype<T>::usertype(sol::detail::check_destructor_tag, Args&& ...) [with Args = {sol::state_view&}; T = App]' include/sol.hpp:19831:211: required from 'sol::usertype<T>::usertype(Args&& ...) [with Args = {sol::state_view&}; T = App]' main.cpp:14:119: required from here include/sol.hpp:18515:36: error: no matching function for call to 'make_string_view(sol::state_view&)' string_view s = make_string_view(arg); ~~~~~~~~~~~~~~~~^~~~~ include/sol.hpp:18497:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::string_view) inline auto make_string_view(string_view s) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18497:15: note: no known conversion for argument 1 from 'sol::state_view' to 'sol::string_view {aka sol::basic_string_view<char>}' include/sol.hpp:18501:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::call_construction) inline auto make_string_view(call_construction) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18501:15: note: no known conversion for argument 1 from 'sol::state_view' to 'sol::call_construction' include/sol.hpp:18505:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::meta_function) inline auto make_string_view(meta_function mf) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18505:15: note: no known conversion for argument 1 from 'sol::state_view' to 'sol::meta_function' include/sol.hpp:18509:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::base_classes_tag) inline auto make_string_view(base_classes_tag) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18509:15: note: no known conversion for argument 1 from 'sol::state_view' to 'sol::base_classes_tag {aka sol::base_list<>}' include/sol.hpp: In instantiation of 'bool sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...>::contains_index() const [with T = App; unsigned int ...I = {0u}; Tn = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}]': include/sol.hpp:18869:59: required from 'sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...>::usertype_metatable(Args&& ...) [with Args = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}; <template-parameter-2-2> = void; T = App; unsigned int ...I = {0u}; Tn = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}]' c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\unique_ptr.h:791:30: required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = sol::usertype_metatable<App, std::integer_sequence<unsigned int, 0u>, sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&>; _Args = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<sol::usertype_metatable<App, std::integer_sequence<unsigned int, 0u>, sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&>, std::default_delete<sol::usertype_metatable<App, std::integer_sequence<unsigned int, 0u>, sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&> > >]' include/sol.hpp:19814:118: required from 'sol::usertype<T>::usertype(sol::detail::verified_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[5], const sol::destructor_wrapper<void>&}; T = App]' include/sol.hpp:19820:87: required from 'sol::usertype<T>::usertype(sol::detail::add_destructor_tag, Args&& ...) [with Args = {sol::state_view&}; T = App]' include/sol.hpp:19825:190: required from 'sol::usertype<T>::usertype(sol::detail::check_destructor_tag, Args&& ...) [with Args = {sol::state_view&}; T = App]' include/sol.hpp:19831:211: required from 'sol::usertype<T>::usertype(Args&& ...) [with Args = {sol::state_view&}; T = App]' main.cpp:14:119: required from here include/sol.hpp:18770:66: error: no matching function for call to 'is_indexer(std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[5], sol::destructor_wrapper<void> > >&)' (void)detail::swallow{0, ((idx |= (usertype_detail::is_indexer(std::get<I * 2>(functions)) != 0)), 0)...}; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/sol.hpp:18469:14: note: candidate: int sol::usertype_detail::is_indexer(sol::string_view) inline int is_indexer(string_view s) { ^~~~~~~~~~ include/sol.hpp:18469:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::string_view {aka sol::basic_string_view<char>}' include/sol.hpp:18479:14: note: candidate: int sol::usertype_detail::is_indexer(sol::meta_function) inline int is_indexer(meta_function mf) { ^~~~~~~~~~ include/sol.hpp:18479:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::meta_function' include/sol.hpp:18489:14: note: candidate: int sol::usertype_detail::is_indexer(sol::call_construction) inline int is_indexer(call_construction) { ^~~~~~~~~~ include/sol.hpp:18489:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::call_construction' include/sol.hpp:18493:14: note: candidate: int sol::usertype_detail::is_indexer(sol::base_classes_tag) inline int is_indexer(base_classes_tag) { ^~~~~~~~~~ include/sol.hpp:18493:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::base_classes_tag {aka sol::base_list<>}' include/sol.hpp:18770:4: error: no matching function for call to 'std::initializer_list<int>::initializer_list(<brace-enclosed initializer list>)' (void)detail::swallow{0, ((idx |= (usertype_detail::is_indexer(std::get<I * 2>(functions)) != 0)), 0)...}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\range_access.h:36:0, from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\string:51, from main.cpp:3: c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:66:17: note: candidate: constexpr std::initializer_list<_E>::initializer_list() [with _E = int] constexpr initializer_list() noexcept ^~~~~~~~~~~~~~~~ c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:66:17: note: candidate expects 0 arguments, 2 provided c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:62:17: note: candidate: constexpr std::initializer_list<_E>::initializer_list(std::initializer_list<_E>::const_iterator, std::initializer_list<_E>::size_type) [with _E = int; std::initializer_list<_E>::const_iterator = const int*; std::initializer_list<_E>::size_type = unsigned int] constexpr initializer_list(const_iterator __a, size_type __l) ^~~~~~~~~~~~~~~~ c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:62:17: note: conversion of argument 2 would be ill-formed: c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate: constexpr std::initializer_list<int>::initializer_list(const std::initializer_list<int>&) class initializer_list ^~~~~~~~~~~~~~~~ c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate expects 1 argument, 2 provided c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate: constexpr std::initializer_list<int>::initializer_list(std::initializer_list<int>&&) c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate expects 1 argument, 2 provided In file included from main.cpp:5:0: include/sol.hpp: In instantiation of 'std::__cxx11::string sol::usertype_detail::make_string(Arg&&) [with Arg = sol::constructor_list<sol::types<> >&; std::__cxx11::string = std::__cxx11::basic_string<char>]': include/sol.hpp:18862:168: required from 'sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...>::usertype_metatable(Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}; <template-parameter-2-2> = void; T = Game; unsigned int ...I = {0u, 1u}; Tn = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}]' c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\unique_ptr.h:791:30: required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = sol::usertype_metatable<Game, std::integer_sequence<unsigned int, 0u, 1u>, sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&>; _Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<sol::usertype_metatable<Game, std::integer_sequence<unsigned int, 0u, 1u>, sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&>, std::default_delete<sol::usertype_metatable<Game, std::integer_sequence<unsigned int, 0u, 1u>, sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&> > >]' include/sol.hpp:19814:118: required from 'sol::usertype<T>::usertype(sol::detail::verified_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}; T = Game]' include/sol.hpp:19820:87: required from 'sol::usertype<T>::usertype(sol::detail::add_destructor_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&}; T = Game]' include/sol.hpp:19825:190: required from 'sol::usertype<T>::usertype(sol::detail::check_destructor_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&}; T = Game]' include/sol.hpp:19836:97: required from 'sol::usertype<T>::usertype(sol::constructor_list<Lists ...>, Args&& ...) [with Args = {sol::state_view&}; CArgs = {sol::types<>}; T = Game]' include/sol.hpp:19831:211: required from 'sol::usertype<T>::usertype(Args&& ...) [with Args = {sol::state_view&}; T = Game]' main.cpp:18:23: required from here include/sol.hpp:18515:36: error: no matching function for call to 'make_string_view(sol::constructor_list<sol::types<> >&)' string_view s = make_string_view(arg); ~~~~~~~~~~~~~~~~^~~~~ include/sol.hpp:18497:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::string_view) inline auto make_string_view(string_view s) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18497:15: note: no known conversion for argument 1 from 'sol::constructor_list<sol::types<> >' to 'sol::string_view {aka sol::basic_string_view<char>}' include/sol.hpp:18501:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::call_construction) inline auto make_string_view(call_construction) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18501:15: note: no known conversion for argument 1 from 'sol::constructor_list<sol::types<> >' to 'sol::call_construction' include/sol.hpp:18505:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::meta_function) inline auto make_string_view(meta_function mf) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18505:15: note: no known conversion for argument 1 from 'sol::constructor_list<sol::types<> >' to 'sol::meta_function' include/sol.hpp:18509:15: note: candidate: auto sol::usertype_detail::make_string_view(sol::base_classes_tag) inline auto make_string_view(base_classes_tag) { ^~~~~~~~~~~~~~~~ include/sol.hpp:18509:15: note: no known conversion for argument 1 from 'sol::constructor_list<sol::types<> >' to 'sol::base_classes_tag {aka sol::base_list<>}' include/sol.hpp: In instantiation of 'bool sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...>::contains_index() const [with T = Game; unsigned int ...I = {0u, 1u}; Tn = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}]': include/sol.hpp:18869:59: required from 'sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...>::usertype_metatable(Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}; <template-parameter-2-2> = void; T = Game; unsigned int ...I = {0u, 1u}; Tn = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}]' c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\unique_ptr.h:791:30: required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = sol::usertype_metatable<Game, std::integer_sequence<unsigned int, 0u, 1u>, sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&>; _Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<sol::usertype_metatable<Game, std::integer_sequence<unsigned int, 0u, 1u>, sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&>, std::default_delete<sol::usertype_metatable<Game, std::integer_sequence<unsigned int, 0u, 1u>, sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&> > >]' include/sol.hpp:19814:118: required from 'sol::usertype<T>::usertype(sol::detail::verified_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&, const char (&)[5], const sol::destructor_wrapper<void>&}; T = Game]' include/sol.hpp:19820:87: required from 'sol::usertype<T>::usertype(sol::detail::add_destructor_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&}; T = Game]' include/sol.hpp:19825:190: required from 'sol::usertype<T>::usertype(sol::detail::check_destructor_tag, Args&& ...) [with Args = {sol::state_view&, const char (&)[4], sol::constructor_list<sol::types<> >&}; T = Game]' include/sol.hpp:19836:97: required from 'sol::usertype<T>::usertype(sol::constructor_list<Lists ...>, Args&& ...) [with Args = {sol::state_view&}; CArgs = {sol::types<>}; T = Game]' include/sol.hpp:19831:211: required from 'sol::usertype<T>::usertype(Args&& ...) [with Args = {sol::state_view&}; T = Game]' main.cpp:18:23: required from here include/sol.hpp:18770:66: error: no matching function for call to 'is_indexer(std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[4], sol::constructor_list<sol::types<> >, const char (&)[5], sol::destructor_wrapper<void> > >&)' (void)detail::swallow{0, ((idx |= (usertype_detail::is_indexer(std::get<I * 2>(functions)) != 0)), 0)...}; ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/sol.hpp:18469:14: note: candidate: int sol::usertype_detail::is_indexer(sol::string_view) inline int is_indexer(string_view s) { ^~~~~~~~~~ include/sol.hpp:18469:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[4], sol::constructor_list<sol::types<> >, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::string_view {aka sol::basic_string_view<char>}' include/sol.hpp:18479:14: note: candidate: int sol::usertype_detail::is_indexer(sol::meta_function) inline int is_indexer(meta_function mf) { ^~~~~~~~~~ include/sol.hpp:18479:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[4], sol::constructor_list<sol::types<> >, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::meta_function' include/sol.hpp:18489:14: note: candidate: int sol::usertype_detail::is_indexer(sol::call_construction) inline int is_indexer(call_construction) { ^~~~~~~~~~ include/sol.hpp:18489:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[4], sol::constructor_list<sol::types<> >, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::call_construction' include/sol.hpp:18493:14: note: candidate: int sol::usertype_detail::is_indexer(sol::base_classes_tag) inline int is_indexer(base_classes_tag) { ^~~~~~~~~~ include/sol.hpp:18493:14: note: no known conversion for argument 1 from 'std::__tuple_element_t<0u, std::tuple<sol::state_view, const char (&)[4], sol::constructor_list<sol::types<> >, const char (&)[5], sol::destructor_wrapper<void> > > {aka const sol::state_view}' to 'sol::base_classes_tag {aka sol::base_list<>}' include/sol.hpp:18770:4: error: no matching function for call to 'std::initializer_list<int>::initializer_list(<brace-enclosed initializer list>)' (void)detail::swallow{0, ((idx |= (usertype_detail::is_indexer(std::get<I * 2>(functions)) != 0)), 0)...}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\range_access.h:36:0, from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\string:51, from main.cpp:3: c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:66:17: note: candidate: constexpr std::initializer_list<_E>::initializer_list() [with _E = int] constexpr initializer_list() noexcept ^~~~~~~~~~~~~~~~ c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:66:17: note: candidate expects 0 arguments, 2 provided c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:62:17: note: candidate: constexpr std::initializer_list<_E>::initializer_list(std::initializer_list<_E>::const_iterator, std::initializer_list<_E>::size_type) [with _E = int; std::initializer_list<_E>::const_iterator = const int*; std::initializer_list<_E>::size_type = unsigned int] constexpr initializer_list(const_iterator __a, size_type __l) ^~~~~~~~~~~~~~~~ c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:62:17: note: conversion of argument 2 would be ill-formed: c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate: constexpr std::initializer_list<int>::initializer_list(const std::initializer_list<int>&) class initializer_list ^~~~~~~~~~~~~~~~ c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate expects 1 argument, 2 provided c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate: constexpr std::initializer_list<int>::initializer_list(std::initializer_list<int>&&) c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\initializer_list:47:11: note: candidate expects 1 argument, 2 provided In file included from main.cpp:5:0: include/sol.hpp: In instantiation of 'static int sol::call_detail::agnostic_lua_call_wrapper<F, is_index, is_variable, checked, boost, clean_stack, <template-parameter-1-7> >::call(lua_State*, Fx&&, Args&& ...) [with Fx = const char (&)[5]; Args = {}; F = char [5]; bool is_index = true; bool is_variable = true; bool checked = true; int boost = 0; bool clean_stack = true; <template-parameter-1-7> = void; lua_State = lua_State]': include/sol.hpp:13730:167: required from 'int sol::call_detail::call_wrapped(lua_State*, Fx&&, Args&& ...) [with T = App; bool is_index = true; bool is_variable = true; int boost = 0; bool checked = true; bool clean_stack = true; Fx = const char (&)[5]; Args = {}; lua_State = lua_State]' include/sol.hpp:18977:69: required from 'static int sol::usertype_metatable<T, std::integer_sequence<unsigned int, I ...>, Tn ...
The text was updated successfully, but these errors were encountered:
Turns out all i needed to do was to not put them inside variables.
Sorry, something went wrong.
No branches or pull requests
Using G++ with sublime text
When using usertypes I get a bunch of undefined errors when compiling. They only pop up when defining usertypes.
here is a reproduction of it
here is the console log
The text was updated successfully, but these errors were encountered: