我已经看过Is there a one-liner to unpack tuple/pair into references?,并且知道在一行中元组/对的解包值是如何实现的,如下所示
auto [validity, table] = isFieldPresentAndSet(r, "is_federated");这里,isFieldPresentAndSet返回一个元组。
现在,我想在isFieldPresentAndSet的多个连续调用中重用这两个变量,如下所示
auto [validity, table] = isFieldPresentAndSet(r, "is_federated");
auto [validity, table] = isFieldPresentAndSet(r, "gslb_sp_enabled");然后检查validity和table的值。但是这给了我编译错误,因为我正在第二次重新定义validity和table变量。如果将第二行更改为
[validity, table] = isFieldPresentAndSet(r, "gslb_sp_enabled"); 或
validity, table = isFieldPresentAndSet(r, "gslb_sp_enabled"); 它仍然给我编译错误。
有什么办法吗??
发布于 2022-10-13 14:09:41
您可以使用std::tie。它返回引用的元组,从而使分配成为可能:
std::tie(validity, table) = isFieldPresentAndSet(r, "gslb_sp_enabled");https://stackoverflow.com/questions/74057119
复制相似问题