質問編集履歴

3

試したことを修正

2022/09/20 10:16

投稿

jbe00214
jbe00214

score62

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,9 @@
40
40
  ```
41
41
  ### 試したこと
42
42
  以下のようにfooの引数arの参照を外してみた。bar( T ar )でもコンパイルできませんでした。
43
+ エラー内容
44
+ constexpr std::size_t D = foo(ar);の行において
45
+ function parameter 'ar' with unknown value cannot be used in a constant expression
43
46
 
44
47
  ```c++
45
48
 

2

試したことを追加した。

2022/09/20 10:05

投稿

jbe00214
jbe00214

score62

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,18 @@
38
38
  bar(ar);
39
39
  }
40
40
  ```
41
+ ### 試したこと
42
+ 以下のようにfooの引数arの参照を外してみた。bar( T ar )でもコンパイルできませんでした。
41
43
 
44
+ ```c++
45
+
46
+ template<typename T>
47
+ constexpr
48
+ std::size_t
49
+ foo( T ar ) {///参照を外した
50
+ return ar.size();
51
+ }
52
+ ```
42
53
 
43
54
  ### 補足情報(FW/ツールのバージョンなど)
44
55
 

1

コードの修正

2022/09/20 04:04

投稿

jbe00214
jbe00214

score62

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
  template<typename T>
29
29
  void bar(T ar){ //#1
30
30
  //void bar(const T& ar){ //#2 エラーとなる
31
- //voidvbar( T&& ar ){ //#2 エラーとなる
31
+ //void bar( T&& ar ){ //#2 エラーとなる
32
32
  constexpr std::size_t D = foo(ar);
33
33
  std::cout << D <<'\n';
34
34
  }