存储过程定义procedure BalancePayout
(
p_staffId      number,
p_payoutAmount number,
po_state     out number,
po_paymentId out number,
po_message   out varchar2
)C++代码 Statement *stmt = m_conn->createStatement(
"begin"
"  pkg_agent_balance.balancePayout(:staffId, :amount, :state, :paymentid, :message);"
"end;"
);

stmt->setNumber(1, staffId);
stmt->setNumber(2, amount);

stmt->registerOutParam(3, OCCINUMBER);
stmt->registerOutParam(4, OCCINUMBER);
stmt->registerOutParam(5, OCCISTRING, 500);

stmt->executeUpdate();

state       = stmt->getNumber(3);
paymentId   = stmt->getNumber(4);
msg         = stmt->getString(5);用上面代码调用存储过程抛出以下异常:
ORA-06550: line 1, column 8:
PLS-00306: wrong number or types of arguments in call to 'BALANCEPAYOUT'
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored请问大家该错误如何解决?