質問編集履歴
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,51 +1,32 @@
|
|
1
|
-
|
1
|
+
配列をいくつかのif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。
|
2
|
-
|
3
|
-
|
2
|
+
C++
|
4
|
-
|
5
3
|
/* **** Pointer print **** */
|
6
|
-
|
7
4
|
#include <cstdio>
|
8
|
-
|
9
5
|
#include<cstdlib>
|
10
6
|
|
7
|
+
// 1:このコードなら、当然 0.885とprintされます。
|
8
|
+
int main() {
|
9
|
+
double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
|
10
|
+
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645 };
|
11
|
+
printf("\n PC[1]=%7.3f\n", PC[1]);
|
12
|
+
}
|
13
|
+
// ===================================================
|
14
|
+
// 2:一方、このコードでは、識別子"PC"が定義されていない、
|
15
|
+
// または、pointer-to-object型が必要です、とエラー表示されます。
|
16
|
+
// これで、通す方法はありませんでしょうか、
|
17
|
+
|
18
|
+
int main() {
|
19
|
+
int N = 1;
|
20
|
+
if (N == 1) {
|
21
|
+
double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
|
22
|
+
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645};
|
23
|
+
}
|
24
|
+
printf("\n PC[1]=%7.3f\n", PC[1]);
|
25
|
+
}
|
26
|
+
この質問は下記により、暫定的に解決しました。
|
27
|
+
・if(N==1),else if(N=2)としたのでは、N=1,N=2以外でエラーになるだろう、と言うことで、if(N=1),elseで試したところ、この部分での”初期値不設定”のエラーは無くなりました。しかしながら、下記の疑問が残りました。
|
28
|
+
➀品番の大きなコードでは、冒頭部分でN=1,N=2以外は、exit(0)としていること。
|
29
|
+
②他の部分ではif(N==1),else if(N=2)としているが、エラーになっていない。
|
30
|
+
ということから、同じ構成にしたのですが、通りませんでした。配列部分はより厳密になっているように感じました。
|
11
31
|
|
12
32
|
|
13
|
-
// 1:このコードなら、当然 0.885とprintされます。
|
14
|
-
|
15
|
-
int main() {
|
16
|
-
|
17
|
-
double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
|
18
|
-
|
19
|
-
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645 };
|
20
|
-
|
21
|
-
printf("\n PC[1]=%7.3f\n", PC[1]);
|
22
|
-
|
23
|
-
}
|
24
|
-
|
25
|
-
// ===================================================
|
26
|
-
|
27
|
-
// 2:一方、このコードでは、識別子"PC"が定義されていない、
|
28
|
-
|
29
|
-
// または、pointer-to-object型が必要です、とエラー表示されます。
|
30
|
-
|
31
|
-
// これで実行したいのですが、通す方法はありませんでしょうか、
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
int main() {
|
36
|
-
|
37
|
-
int N = 1;
|
38
|
-
|
39
|
-
if (N == 1) {
|
40
|
-
|
41
|
-
double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
|
42
|
-
|
43
|
-
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645};
|
44
|
-
|
45
|
-
}
|
46
|
-
|
47
|
-
printf("\n PC[1]=%7.3f\n", PC[1]);
|
48
|
-
|
49
|
-
}
|
50
|
-
|
51
|
-
```
|
1
作成途中に投稿されてしまいましたので、追加致します。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
配列を
|
1
|
+
下記2に示しますように、配列をif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。上手く通す方法はありませんでしょうか
|
2
2
|
|
3
|
-
C++
|
3
|
+
```C++
|
4
4
|
|
5
5
|
/* **** Pointer print **** */
|
6
6
|
|
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
// または、pointer-to-object型が必要です、とエラー表示されます。
|
30
30
|
|
31
|
-
// これで、通す方法はありませんでしょうか、
|
31
|
+
// これで実行したいのですが、通す方法はありませんでしょうか、
|
32
32
|
|
33
33
|
|
34
34
|
|
@@ -47,3 +47,5 @@
|
|
47
47
|
printf("\n PC[1]=%7.3f\n", PC[1]);
|
48
48
|
|
49
49
|
}
|
50
|
+
|
51
|
+
```
|