我有以下代码:
class Transaction : public transactor<>
{
public:
Transaction(arg1, arg2) // can put any number of args
:transactor<>(arg1)
{
//some initialization
}
void operator()(argument_type &T)
{
//create an array
//cannot modify outside program from here
}
void on_commit()
{
//must make array created in operator()() available to outside program here
//cannot return anything
}
第三方代码调用operator()()
和on_commit()
。
在operator()()
方法中,我在查询数据库后创建了一个数组。如果事务失败,则此时无法更改外部程序。这一切都必须在on_commit()
方法中完成。
问题是:如何将此阵列提供给外部程序?
我对C ++很陌生,我理解这可能是一个相当简单的问题。