teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

再帰上限

2019/01/09 16:08

投稿

yumetodo
yumetodo

スコア5852

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

2019/01/09 16:08

投稿

yumetodo
yumetodo

スコア5852

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