質問編集履歴
1
文章を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
testクラスの変数aをがeraseを置いていないにも関わらずアクセスエラーを起こします。
|
5
6
|
|
7
|
+
自分のやりたいことはeraseするとtestクラスのa変数をdeleteするということをやりたいです。
|
6
8
|
|
7
9
|
|
8
10
|
|
@@ -24,6 +26,32 @@
|
|
24
26
|
|
25
27
|
|
26
28
|
|
29
|
+
class test
|
30
|
+
|
31
|
+
{
|
32
|
+
|
33
|
+
public:
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
test() {
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
};
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
~test() {
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
};
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
};
|
54
|
+
|
27
55
|
|
28
56
|
|
29
57
|
class Bullet {
|
@@ -32,7 +60,9 @@
|
|
32
60
|
|
33
61
|
|
34
62
|
|
35
|
-
Bullet(int
|
63
|
+
Bullet(int r) {
|
64
|
+
|
65
|
+
a = new test();
|
36
66
|
|
37
67
|
printf("コンストラクタ\n");
|
38
68
|
|
@@ -42,9 +72,21 @@
|
|
42
72
|
|
43
73
|
~Bullet() {
|
44
74
|
|
75
|
+
delete a;
|
76
|
+
|
77
|
+
a = nullptr;
|
78
|
+
|
45
|
-
printf("デストラクタ\n");
|
79
|
+
printf("--- デストラクタ\n");
|
46
80
|
|
47
81
|
}
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
private:
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
test* a;
|
48
90
|
|
49
91
|
|
50
92
|
|
@@ -58,13 +100,17 @@
|
|
58
100
|
|
59
101
|
{
|
60
102
|
|
103
|
+
Bullet b(1);
|
104
|
+
|
105
|
+
|
106
|
+
|
61
107
|
std::vector<Bullet> bullet;
|
62
108
|
|
63
109
|
bullet.push_back(Bullet(1));
|
64
110
|
|
65
111
|
|
66
112
|
|
67
|
-
|
113
|
+
// bullet.erase(bullet.begin());
|
68
114
|
|
69
115
|
|
70
116
|
|
@@ -86,4 +132,6 @@
|
|
86
132
|
|
87
133
|
|
88
134
|
|
135
|
+
|
136
|
+
|
89
137
|
```
|