void ContainingClass::SomeMethod()
{
class AnonymousClass$0
{
public:
AnonymousClass$0() { }
operator int (__cdecl *)(int k) { return cdecl_static_function; }
operator int (__stdcall *)(int k) { return stdcall_static_function; }
operator int (__fastcall *)(int k) { return fastcall_static_function; }
int operator(int k) { return cdecl_static_function(k); }
private:
static int __cdecl cdecl_static_function(int k) { return calc(k + 42); }
static int __stdcall stdcall_static_function(int k) { return calc(k + 42); }
static int __fastcall fastcall_static_function(int k) { return calc(k + 42); }
};
auto f = AnonymousClass$0();
...
}
Jul 11, 2016
[C++] Non-capturing C++ lambdas can be converted to a pointer to function, but what about the calling convention?
Non-capturing C++ lambdas can be converted to a pointer to function, but what about the calling convention?
Labels:
cpp,
cpp11_closure,
cpp11_lambda,
cpp14_lambda
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.