回答編集履歴
4
空白削除
test
CHANGED
@@ -12,4 +12,4 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、
|
15
|
+
```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、```IntegerToken```ではなくなっています。
|
3
コード修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
ig::token::Token token = itoken;
|
6
6
|
|
7
|
-
ig::token::IntegerToken *pitoken = dynamic_cast<IntegerToken*>(&token);
|
7
|
+
ig::token::IntegerToken *pitoken = dynamic_cast<ig::token::IntegerToken*>(&token);
|
8
8
|
|
9
9
|
```
|
10
10
|
|
2
コード追加
test
CHANGED
@@ -1 +1,15 @@
|
|
1
|
+
```C++
|
2
|
+
|
3
|
+
ig::token::IntegerToken itoken = ig::token::IntegerToken({ 0, 0 }, 200);
|
4
|
+
|
5
|
+
ig::token::Token token = itoken;
|
6
|
+
|
7
|
+
ig::token::IntegerToken *pitoken = dynamic_cast<IntegerToken*>(&token);
|
8
|
+
|
9
|
+
```
|
10
|
+
|
11
|
+
とした場合に```nullptr```が返るのと同じです。
|
12
|
+
|
13
|
+
|
14
|
+
|
1
|
-
```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、```IntegerToken```ではなくなっています
|
15
|
+
```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、 ```IntegerToken```ではなくなっています。
|
1
基底クラス部分のみ格納される旨追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
```std::vector<ig::token::Token>```に入れてしまっているので```IntegerToken```ではなくなっていますよ。
|
1
|
+
```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、```IntegerToken```ではなくなっていますよ。
|