回答編集履歴

4

空白削除

2019/07/15 10:14

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -12,4 +12,4 @@
12
12
 
13
13
 
14
14
 
15
- ```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、  ```IntegerToken```ではなくなっています。
15
+ ```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、```IntegerToken```ではなくなっています。

3

コード修正

2019/07/15 10:14

投稿

SHOMI
SHOMI

スコア4079

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

コード追加

2019/07/15 10:11

投稿

SHOMI
SHOMI

スコア4079

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

基底クラス部分のみ格納される旨追記

2019/07/15 10:10

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1 +1 @@
1
- ```std::vector<ig::token::Token>```に入れてしまっているので```IntegerToken```ではなくなっていますよ。
1
+ ```std::vector<ig::token::Token>```に入れてしまっているので```Token```部分のみが格納され、```IntegerToken```ではなくなっていますよ。