-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
The following code compiles fine on linux (gcc), but gives an error on windows (visual studio)
class Test
{
public:
Test()
{
std::cout << "Test()" << std::endl;
}
void open(const std::string &filename)
{
std::cout << "Opening: " << filename << std::endl;
}
void close()
{
std::cout << "Closing" << std::endl;
}
};
...
vu8::Class<Test> renderer_class;
renderer_class
.Set<void (), &Test::close>("close")
.Set<void (const std::string&), &Test::open>("open");The error is:
error C2440: 'specialization' : cannot convert from 'void (__thiscall Test::* )(void)' to 'void (__thiscall Test::* const )(const v8::Arguments &)(void)'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
error C2973: 'vu8::Class<T>::Set' : invalid template argument 'void (__thiscall Test::* )(void)'
with
[
T=Test
]
vu8/Class.hpp(168) : see declaration of 'vu8::Class<T>::Set'
with
[
T=Test
]
error C2440: 'specialization' : cannot convert from 'void (__thiscall Test::* )(void)' to 'void (__thiscall Test::* const )(void) const'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style castMetadata
Metadata
Assignees
Labels
No labels