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

質問編集履歴

7

誤記修正

2020/08/09 22:10

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 移譲コンストラクタで親クラスのメンバ変数(参照)を初期化できない
1
+ 親クラスのメンバ変数(参照)を初期化できない
body CHANGED
@@ -4,7 +4,7 @@
4
4
  - 配列のサイズを記すメモリへの参照
5
5
  - 内部カウンタ変数(参照ではない)
6
6
 
7
- を所持し、移譲コンストラクタでそれら変数を初期化する
7
+ を所持し、引数付きコンストラクタでそれら変数を初期化する
8
8
  イテレータを作成しようとしたコードです。
9
9
 
10
10
  登場するクラスは
@@ -16,7 +16,7 @@
16
16
 
17
17
  より構成されております。
18
18
 
19
- しかし派生クラスの移譲コンストラクタでコンパイルエラーが発生します。
19
+ しかし派生クラスの引数付きコンストラクタでコンパイルエラーが発生します。
20
20
 
21
21
  エラー文(下記記載)を読む限りだと
22
22
  派生クラスのコンストラクタでメンバ変数element_(参照)を操作できないと言っているようですが

6

細かい点修正

2020/08/09 22:09

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,7 @@
22
22
  派生クラスのコンストラクタでメンバ変数element_(参照)を操作できないと言っているようですが
23
23
  対処法がわかりません。
24
24
 
25
- **どのように書けばメンバ変数element_を初期化できるのでしょうか**
25
+ **どのように書けばメンバ変数element_をコンストラクタの引数で初期化できるのでしょうか**
26
26
 
27
27
  どうかご回答よろしくお願い致します。
28
28
 

5

わかりやすくなるよう修正

2020/08/09 04:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -19,10 +19,10 @@
19
19
  しかし派生クラスの移譲コンストラクタでコンパイルエラーが発生します。
20
20
 
21
21
  エラー文(下記記載)を読む限りだと
22
- 派生クラスのコンストラクタでメンバ変数(参照)を操作できないと言っているようですが
22
+ 派生クラスのコンストラクタでメンバ変数element_(参照)を操作できないと言っているようですが
23
23
  対処法がわかりません。
24
24
 
25
- **どのように書けばメンバ変数を初期化できるのでしょうか**
25
+ **どのように書けばメンバ変数element_を初期化できるのでしょうか**
26
26
 
27
27
  どうかご回答よろしくお願い致します。
28
28
 

4

細かい部分修正

2020/08/09 04:09

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,7 @@
22
22
  派生クラスのコンストラクタでメンバ変数(参照)を操作できないと言っているようですが
23
23
  対処法がわかりません。
24
24
 
25
- **どのように書けばパイルエラー抑えることができるのでしょうか**
25
+ **どのように書けばバ変数初期化できるのでしょうか**
26
26
 
27
27
  どうかご回答よろしくお願い致します。
28
28
 

3

いらないヘッダー削除

2020/08/09 04:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -28,7 +28,6 @@
28
28
 
29
29
  ```c++
30
30
  #include <iostream>
31
- #include <type_traits>
32
31
  #include <memory>
33
32
  #include <cassert>
34
33
 

2

誤字修正

2020/08/09 01:22

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 譲コンストラクタで親クラスのメンバ変数(参照)を初期化できない
1
+ 譲コンストラクタで親クラスのメンバ変数(参照)を初期化できない
body CHANGED
@@ -4,7 +4,7 @@
4
4
  - 配列のサイズを記すメモリへの参照
5
5
  - 内部カウンタ変数(参照ではない)
6
6
 
7
- を所持し、譲コンストラクタでそれら変数を初期化する
7
+ を所持し、譲コンストラクタでそれら変数を初期化する
8
8
  イテレータを作成しようとしたコードです。
9
9
 
10
10
  登場するクラスは
@@ -16,7 +16,7 @@
16
16
 
17
17
  より構成されております。
18
18
 
19
- しかし派生クラスの譲コンストラクタでコンパイルエラーが発生します。
19
+ しかし派生クラスの譲コンストラクタでコンパイルエラーが発生します。
20
20
 
21
21
  エラー文(下記記載)を読む限りだと
22
22
  派生クラスのコンストラクタでメンバ変数(参照)を操作できないと言っているようですが

1

エラー発生部分をわかりやすくなるよう修正

2020/08/09 01:16

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -95,7 +95,9 @@
95
95
  ///////////////////////////////
96
96
  template<typename Type, typename SizeType>
97
97
  struct Iterator final:public BaseIterator<Type, SizeType>{
98
+ //↓ここでコンパイルエラー発生
98
99
  Iterator(Type& element, SizeType& size)noexcept:BaseIterator<Type, SizeType>::element_(element),BaseIterator<Type, SizeType>::size_(size){}
100
+
99
101
  Iterator()noexcept = delete;
100
102
  ~Iterator() = default;
101
103
 
@@ -116,7 +118,9 @@
116
118
  ///////////////////////////////////////////////////
117
119
  template<typename Type, typename SizeType>
118
120
  struct ConstIterator final:public BaseIterator<Type, SizeType>{
121
+ //↓ここでコンパイルエラー発生
119
- ConstIterator(Type& element, SizeType& size)noexcept:BaseIterator<Type, SizeType>::element_(element),BaseIterator<Type, SizeType>::size_(size){}// ここでコンパイルエラー発生
122
+ ConstIterator(Type& element, SizeType& size)noexcept:BaseIterator<Type, SizeType>::element_(element),BaseIterator<Type, SizeType>::size_(size){}
123
+
120
124
  ConstIterator()noexcept = delete;
121
125
  ~ConstIterator() = default;
122
126