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

回答編集履歴

1

push_backに言及

2021/08/08 08:13

投稿

actorbug
actorbug

スコア2515

answer CHANGED
@@ -2,6 +2,7 @@
2
2
  ```C++
3
3
  regi_data.emplace_back(poly_buff);
4
4
  ```
5
+
5
6
  ソースにはありませんが、使用箇所から考えると`regi_data`の型は`std::vector<REGISTER_DATA>`だと思われます。
6
7
  そして、`emplace_back`の引数として`POLYGON_DATA`型の`poly_buff`が渡されていますが、`REGISTER_DATA`には`POLYGON_DATA`を引数にとるコンストラクタが無いのでエラーになっています。
7
8
 
@@ -10,6 +11,11 @@
10
11
  regi_data.emplace_back(REGISTER_DATA{ poly_buff });
11
12
  ```
12
13
 
14
+ ただ、一時オブジェクトを作ると`emplace_back`の利点がなくなるので、`push_back`にして型名を省略するほうが短くて良いかもしれません。
15
+ ```C++
16
+ regi_data.push_back({ poly_buff });
17
+ ```
18
+
13
19
  あと、こちらで確認した限りでは、「出力」タブに上記ソースのエラー箇所を示すメッセージが出ていました。
14
20
  そちらで同じメッセージが出ていないか確認をお願いします。
15
21
  ```text