diff --git a/src/ModelTree.cc b/src/ModelTree.cc index b1c23631e8e4855d710420635e1b38c6d2119bd3..9636a68e22cfd0e82eb939a3506364f7021c1ac9 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -373,7 +373,7 @@ ModelTree::evaluateAndReduceJacobian(const eval_context_t &eval_context) const int eq = indices[0]; int var { getTypeSpecificIDByDerivID(deriv_id) }; int lag = getLagByDerivID(deriv_id); - double val { [&] + double val { [&, d1 = d1] { try { diff --git a/src/Statement.cc b/src/Statement.cc index b4c357f442559332bde3c11e3044f31a18e25c1b..290db113a6267f7ed243ca458c4fe545f73003c3 100644 --- a/src/Statement.cc +++ b/src/Statement.cc @@ -185,7 +185,7 @@ void OptionsList::writeOutputCommon(ostream &output, const string &option_group) const { for (const auto &[name, val] : options) - std::visit([&]<class T>(const T &v) + std::visit([&, &name = name, &val = val]<class T>(const T &v) { if constexpr(is_same_v<T, SymbolListVal>) v.writeOutput(option_group + "." + name, output); diff --git a/src/SubModel.cc b/src/SubModel.cc index 38d3733becca219a34c5101c442d93c5bf6b916f..64534beb2b897dddfbe98e8b21b6f3e418611b5c 100644 --- a/src/SubModel.cc +++ b/src/SubModel.cc @@ -1227,7 +1227,7 @@ PacModelTable::transformPass(const lag_equivalence_table_t &unary_ops_nodes, // Associate the coefficients of the linear combination with the right components for (auto [var, coeff] : terms) if (auto it = find_if(components.begin(), components.end(), - [&](const auto &v) { return get<0>(v) == dynamic_model.AddVariable(var); }); + [&, &var = var](const auto &v) { return get<0>(v) == dynamic_model.AddVariable(var); }); it != components.end()) get<4>(*it) = coeff; else