回答編集履歴
2
再帰上限
answer
CHANGED
@@ -8,4 +8,10 @@
|
|
8
8
|
std::cout << std::integral_constant<unsigned long, finaConst(40)>::value << std::endl;
|
9
9
|
```
|
10
10
|
|
11
|
-
のいずれかのようにする必要があります。
|
11
|
+
のいずれかのようにする必要があります。
|
12
|
+
|
13
|
+
---
|
14
|
+
|
15
|
+
あー、多分わかった。finaConstにわたす回数が大きすぎて再帰上限512を超えているんじゃないかな。それを超えた場合動くかどうかは保証がないので、そういうことでは。`40`じゃなくて`20`とかなら通っているので。
|
16
|
+
|
17
|
+
そもそもC++14constexrを使って普通にループで書いてあげるのがいいと思います。
|
1
m
answer
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
```cpp
|
4
4
|
constexpr auto re = finaConst(40);
|
5
5
|
std::cout << re << std::endl;
|
6
|
+
|
7
|
+
#include <type_traits>
|
6
8
|
std::cout << std::integral_constant<unsigned long, finaConst(40)>::value << std::endl;
|
7
9
|
```
|
8
10
|
|