Skip to content

Commit 22f113e

Browse files
committed
コード例のエラーを修正 #1456
1 parent c601a46 commit 22f113e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lang/cpp26/structured_bindings_can_introduce_a_pack.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,21 @@ constexpr decltype(auto) apply(F &&f, Tuple &&t)
5353
C++26での実装:
5454

5555
```cpp
56+
namespace detail {
57+
template <class A, class B>
58+
using override_ref = std::conditional_t<std::is_rvalue_reference_v<A&&>, B&&, B&>;
59+
}
60+
5661
template <class F, class Tuple>
5762
constexpr decltype(auto) apply(F &&f, Tuple &&t)
5863
{
5964
auto&& [...elems] = t;
6065
return std::invoke(std::forward<F>(f),
61-
std::forward_like<Tuple, decltype(elems)>(elems)...);
66+
static_cast<detail::override_ref<Tuple, decltype(elems)>>(elems)...);
6267
}
6368
```
69+
* std::conditional_t[link /reference/type_traits/conditional.md]
70+
* std::is_rvalue_reference_v[link /reference/type_traits/is_rvalue_reference.md]
6471
* std::invoke[link /reference/functional/invoke.md]
6572

6673

0 commit comments

Comments
 (0)