首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ilog记录数组大小

如何使用ilog记录数组大小
EN

Stack Overflow用户
提问于 2021-04-14 17:58:08
回答 1查看 34关注 0票数 0

我有这段代码,只想记录数组的大小:

代码语言:javascript
复制
auto owner = abi_data["owner"].as<chain::authority>();
auto arrSize = std::size(owner.keys);
ilog(arrSize);

但是有一个错误:

代码语言:javascript
复制
error: no matching constructor for initialization of 'fc::log_message'

我怎么才能修复它?

我知道c ++的方法是非常具体的。因此,我将扩展我的问题,从而摸索道路。

如何从auto owner中获取公钥字符串。

我试过了:

代码语言:javascript
复制
   std::string k = owner.keys[0].key
   error: no viable conversion from 'eosio::chain::public_key_type' (aka 'fc::crypto::public_key') to 'std::string'

我不明白我应该如何将这一切转换为正确的工作,并获得正确的公钥并替换硬编码的old_account_name

完整代码:

代码语言:javascript
复制
else if (action.name == N(newaccount)) {

               auto new_account_name = abi_data["newact"].as<chain::name>().to_string();
               auto creator = abi_data["creator"].as<chain::name>().to_string();
               std::string old_account_name = "EOS7ea3Dj15nUkKz3diU7BmE5FV5aNKsBKL6WScwEaKzNwDp41SSU";
               auto owner = abi_data["owner"].as<chain::authority>();
               auto active = abi_data["active"].as<chain::authority>();
               ilog("new_account_name: " + new_account_name + " ,creator: " + creator);

               *m_session << "UPDATE user_address SET address = :nan WHERE crypto_currency_asset_id = :ai AND address = :oan",
                  soci::use(new_account_name, "nan"),
                  soci::use(old_account_name, "oan"),
                  soci::use(asset_id, "ai");
            }
EN

回答 1

Stack Overflow用户

发布于 2021-04-15 15:42:31

修复了!

代码语言:javascript
复制
auto arrSize = sizeof(owner.keys)/sizeof(owner.keys[0]);
auto ownerPK = static_cast<std::string>(owner.keys[0].key);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67089540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档