如何在Lua中将类实例作为参数传递给成员函数

如何在Lua中将类实例作为参数传递给成员函数,lua,lua-table,Lua,Lua Table,我试图在lua中创建一个类,我需要将其作为参数传递给另一个类的成员函数实例 -- inside class definition function Calculator:add( numberClassInstanceWithAdditionDataEncapsulated ) return numberClassInstanceWithAdditionDataEncapsulated:value(); end -- numberClassInstanceWithAdditionDat

我试图在lua中创建一个类,我需要将其作为参数传递给另一个类的成员函数实例

-- inside class definition

function Calculator:add( numberClassInstanceWithAdditionDataEncapsulated )
  return numberClassInstanceWithAdditionDataEncapsulated:value();
end


-- numberClassInstanceWithAdditionDataEncapsulated is instance of my custom class SNum 
-- which contains methods and data and other stuffs, it is not number from language.
-- it doesn't build when I change value to showMyNumber ( bothfunctions are members 
-- of SNum class)
我犯了一个错误

attempt to index local 'numberClassInstanceWithAdditionDataEncapsulated' (a number value)

如何将另一个类的实例传递给成员函数?

此错误只能在运行时发生,错误消息很清楚:NumberClassInstanceWithAdditionDataEncapsed是一个数字,无法编制索引。它不是您可能期望的表(“对象”或类实例通常是表)。

错误说
numberClassInstanceWithAdditionDataEncapsed
是数字,您不能在其上调用
:value
。错误一定是在调用站点,您没有显示该站点。@YuHao它不是数字,这是我的自定义类的实例,当我更改值()时,其他任何东西仍然会得到相同的错误。@TomBlodget这是类声明,我还没有调用代码中的任何地方,因为它在我尝试构建项目时显示错误。然后,您需要向我们显示调用
计算器的代码:add
,因为很明显,尽管您认为函数调用参数应该是SNum的一个实例,但实际上并非如此,即您有一个bug:)