16/02/23 23:30:00.22 kQ/gcKij.net
>>841
一発でわかった、ありがとう、ありがとう、そして一番のキーワードは>>837のluaL_setmetatable()
目的:C++で実装したクラス(lua クラス バインド でggって出てきたページを参考に作成)を
Luaでnewしてインスタンスを生成、それを更にC++で実装した
全く別の独立した静的関数にそのまま渡してその関数内でインスタンスへの変更処理を行う
問題:割愛
原因:Lua側でのいわゆるクラスの型情報であるグローバル変数の実体の作成時に、
クラスのテーブルの作成にもユーザデータ共通のメタテーブルの作成にもlua_newtable()を使用していた
対処:
正しく(?)は、メタテーブルの作成の際にはluaL_newmetatable()を使用するべき
憶測(言い訳?):
メタテーブルであるべきところをネットのサンプル通りに普通(?)のテーブルで実装してしまった為、
単純なC++からLua、LuaからC++のやりとりでは不都合が出なかっただけだと思われる
長文かつサンプルの提示なしの質問に長々と付き合ってくれてありがとうございました、無事解決しました