LuaPlus
-
Hi,
ich bin mir nicht sicher, ob es in dieses Unterforum gehört. Ich habe ein Problem mit folgendem C++-Code, welches LuaPlus verwendet (ich hoffe, jemand
kennt sich damit aus und kann mir helfen).#include <iostream> #include <LuaPlus/Luaplus.h> int main() { LuaPlus::LuaStateOwner state; state->DoString("function Add(x, y) return x + y end"); LuaPlus::LuaFunction<float> Add = state->GetGlobal("Add") ; // <-- Fehler! std::cout << "Add: " << Add(2, 7) << std::endl; return 0; }Ich arbeite mit Dev-C++ 4.9.9.2 (Grundversion, also ohne jeglichen Updates) und dieser wirft mir folgenden Fehler raus:
main.cpp:9: error: conversion from `LuaPlus::LuaObject' to non-scalar type `LuaPlus::LuaFunction<float>' requestedIch verstehe diese Meldung nicht. Kann mir jemand weiterhelfen?
Entsprechende Bibliotheken sind eingebunden.
Danke im voraus.BigBoomer
-
Och die ist doch eigentlich ganz verständlich.
state->GetGlobal("Add")gibt anscheinend kein
LuaPlus::LuaFunction<float>Objekt zurück.
-
ich kenn mich mit Lua nicht aus, aber die fehlermeldung besagt, daß state->GetGlobal("Add") keine lua-funktion sondern ein LuaObjekt zurückgibt. warscheinlich mußt du die funktion erst mit einer dafür vorgesehenen methode aus dem objekt auslesen.
so in der richtung:
state->GetGlobal("Add")->DieLuaObjektFunktionsGetMethode();