回答編集履歴

2

一部記述に誤り

2021/06/12 15:04

投稿

fukatani
fukatani

スコア626

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- template <typename Array> void print(const Array &c) {
29
+ template <typename Array> void print(Array const &c) {
30
30
 
31
31
  for (std::size_t i = 0; i != c.size(); ++i) {
32
32
 
@@ -52,9 +52,9 @@
52
52
 
53
53
  直してみました。
54
54
 
55
- まず`Array const`はなく、`const Array`です。
55
+ constにする場合、その関数の中呼び出すconst変数のメソッドを全てconstる必要があります
56
56
 
57
- また、constにする場合、呼び出すメソッドを全てconstにする必要あります。
57
+ この場合、`size`と`operator[]`該当します。
58
58
 
59
59
  あと、operator演算子の定義が違うと思います。value_typeを返すべきです。
60
60
 

1

上方の追加。

2021/06/12 15:04

投稿

fukatani
fukatani

スコア626

test CHANGED
@@ -57,3 +57,5 @@
57
57
  また、constにする場合、呼び出すメソッドを全てconstにする必要があります。
58
58
 
59
59
  あと、operator演算子の定義が違うと思います。value_typeを返すべきです。
60
+
61
+ また、`#include <array>`は今回不要です。ソースコードの中でarrayを定義しているためです。