回答編集履歴
1
追記
answer
CHANGED
@@ -1,4 +1,35 @@
|
|
1
1
|
`struct pb{ ouble x,y,z,bx,by,bz; };` を main の中に置かず、
|
2
2
|
`void kakunou(vector<vector<struct pb>> &alldata){` の前に置いてください。
|
3
3
|
|
4
|
-
*alldata ではなく、&alldata であることも忘れないでください。
|
4
|
+
*alldata ではなく、&alldata であることも忘れないでください。
|
5
|
+
|
6
|
+
**追記**
|
7
|
+
参照ではなく、アドレスを渡したいのなら、次のように書かないといけなくなります。
|
8
|
+
```C++
|
9
|
+
#include <iostream>
|
10
|
+
#include <vector>
|
11
|
+
using namespace std;
|
12
|
+
|
13
|
+
struct pb {
|
14
|
+
double x, y, z, bx, by, bz;
|
15
|
+
};
|
16
|
+
|
17
|
+
void kakunou(vector<vector<struct pb>> *alldata)
|
18
|
+
{
|
19
|
+
(*alldata)[0][0].x = 1;
|
20
|
+
(*alldata)[0][0].y = 1;
|
21
|
+
(*alldata)[0][0].z = 1;
|
22
|
+
(*alldata)[0][0].bx = 1;
|
23
|
+
(*alldata)[0][0].by = 1;
|
24
|
+
(*alldata)[0][0].bz = 1;
|
25
|
+
}
|
26
|
+
|
27
|
+
int main()
|
28
|
+
{
|
29
|
+
vector<vector<struct pb>>alldata(2,vector<struct pb>(2));
|
30
|
+
|
31
|
+
kakunou(&alldata); // ★ アドレスを渡す
|
32
|
+
cout << alldata[0][0].x << endl;
|
33
|
+
return 0;
|
34
|
+
}
|
35
|
+
```
|