質問編集履歴
6
文字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
・「active.cpp」にて,定義した順番通りに処理を実行する.
|
22
22
|
・「main.cpp」にて定義した「異なる型同士を格納する配列」は,関数の引数を利用して「active.cpp」に渡す.
|
23
23
|
・「differents.hpp」にて,定義した順番通りに処理を実行するプログラムを実装する.
|
24
|
-
・プログラミング言語:C
|
24
|
+
・プログラミング言語:C++
|
25
25
|
|
26
26
|
### 発生している問題・エラーメッセージ
|
27
27
|
コンパイルしようとすると,「関数が見つからない」というエラーが発生します.
|
5
タグの修正
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
4
文字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,7 +43,7 @@
|
|
43
43
|
#include <vector>
|
44
44
|
#include "differents.hpp"
|
45
45
|
|
46
|
-
void active(std::vector<differents::Compose*> different); // active.cppにて実装
|
46
|
+
void active(std::vector<differents::Compose*> &different); // active.cppにて実装
|
47
47
|
|
48
48
|
int main(void){
|
49
49
|
std::vector<differents::Compose*> different{
|
@@ -62,7 +62,7 @@
|
|
62
62
|
#include <vector>
|
63
63
|
#include "differents.hpp"
|
64
64
|
|
65
|
-
void active(std::vector<differents::Compose*> different){
|
65
|
+
void active(std::vector<differents::Compose*> &different){
|
66
66
|
int ans = differents::forward(/*different_=*/different, /*data=*/5, /*count=*/different.size());
|
67
67
|
std::cout << ans << std::endl; // (4 + (3 + (2 + 5 + 1) + 2) + 1) = 18
|
68
68
|
}
|
3
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,10 +8,14 @@
|
|
8
8
|
Sは,データD,配列Eの情報をもとに,データDを「関数A→関数B→関数A」という流れに沿って実行します.
|
9
9
|
|
10
10
|
|
11
|
-
以下のコードを書きましたが,異なる型同士を格納する配列を別の関数に渡した途端動かなくなります.
|
11
|
+
そこで,以下のコードを書きましたが,異なる型同士を格納する配列を別の関数に渡した途端動かなくなります.
|
12
|
+
クラスの継承元が同じであれば,ソースコードみたいに型が違っていても親クラスのポインタを利用することで同時に格納できると聞きました.
|
13
|
+
しかし,上記のエラーが発生して上手く動きませんでした.
|
14
|
+
|
12
15
|
どなたかこの原因を教えてくださると助かります.
|
16
|
+
また,解決策があれば教えていただけると幸いです.
|
17
|
+
|
13
18
|
|
14
|
-
|
15
19
|
<必須条件>
|
16
20
|
・「main.cpp」にて,「異なる型同士を格納する配列」と「処理の順番」を定義する.(下記のコードみたいに簡単に書けるようにしたい.)
|
17
21
|
・「active.cpp」にて,定義した順番通りに処理を実行する.
|
2
文字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,10 +8,7 @@
|
|
8
8
|
Sは,データD,配列Eの情報をもとに,データDを「関数A→関数B→関数A」という流れに沿って実行します.
|
9
9
|
|
10
10
|
|
11
|
-
実装するにあたり,以下の記事を参考にさせていただきました.
|
12
|
-
し
|
11
|
+
以下のコードを書きましたが,異なる型同士を格納する配列を別の関数に渡した途端動かなくなります.
|
13
|
-
[https://qiita.com/mm_sys/items/9afb811c2e0c67a5cfd5](https://qiita.com/mm_sys/items/9afb811c2e0c67a5cfd5)
|
14
|
-
|
15
12
|
どなたかこの原因を教えてくださると助かります.
|
16
13
|
|
17
14
|
|
1
誤字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -126,7 +126,7 @@
|
|
126
126
|
|
127
127
|
### 試したこと
|
128
128
|
|
129
|
-
以下のように実行したらエラーが出ました.
|
129
|
+
以下のように実行したらエラーが出ました.
|
130
130
|
|
131
131
|
```
|
132
132
|
$ g++ main.cpp active.cpp
|