On Wed, 10 Aug 2011 10:35:46 +0200, Dainius (GreatEmerald)
<past...@gmail.com> wrote:
I seem to have run into a problem with the function pointer method
here. I have this code:
arco.d:
struct FrontendFunctions {
void function(SoundTypes) Sound_Play;
void function() RedrawScreenFull;
void function(const char*, int) PrecacheCard;
void function(CardInfo, int) PlayCardAnimation;
}
cards.d:
void InitLuaFunctions()
{
lua["Damage"] = (int Who, int Amount)
{
FrontendFunctions.Sound_Play(SoundTypes.Damage);
};
}
Essentially I am trying to get Lua (via LuaD) to call a function in D
that calls a frontend function. But when I compile the code, I get
this: "cards.d(5): Error: 'this' is only defined in non-static member
functions, not __dgliteral14". Why is this and what can I do about it?
FrontendFunctions frontendFunctions;
use frontendFunctions everywhere.
OR (this makes them global):
struct FrontendFunctions {
static:
...
}