質問編集履歴
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,26 +1,31 @@
|
|
1
|
-
|
1
|
+
配列をいくつかのif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。
|
2
|
-
|
2
|
+
C++
|
3
|
-
/* **** Pointer print **** */
|
3
|
+
/* **** Pointer print **** */
|
4
|
-
#include <cstdio>
|
4
|
+
#include <cstdio>
|
5
|
-
#include<cstdlib>
|
5
|
+
#include<cstdlib>
|
6
|
-
|
6
|
+
|
7
|
-
// 1:このコードなら、当然 0.885とprintされます。
|
7
|
+
// 1:このコードなら、当然 0.885とprintされます。
|
8
|
-
int main() {
|
8
|
+
int main() {
|
9
|
-
double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
|
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 };
|
10
|
+
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645 };
|
11
|
-
printf("\n PC[1]=%7.3f\n", PC[1]);
|
11
|
+
printf("\n PC[1]=%7.3f\n", PC[1]);
|
12
|
-
}
|
12
|
+
}
|
13
|
-
// ===================================================
|
13
|
+
// ===================================================
|
14
|
-
// 2:一方、このコードでは、識別子"PC"が定義されていない、
|
14
|
+
// 2:一方、このコードでは、識別子"PC"が定義されていない、
|
15
|
-
// または、pointer-to-object型が必要です、とエラー表示されます。
|
15
|
+
// または、pointer-to-object型が必要です、とエラー表示されます。
|
16
|
-
// これで
|
16
|
+
// これで、通す方法はありませんでしょうか、
|
17
|
-
|
17
|
+
|
18
|
-
int main() {
|
18
|
+
int main() {
|
19
|
-
int N = 1;
|
19
|
+
int N = 1;
|
20
|
-
if (N == 1) {
|
20
|
+
if (N == 1) {
|
21
|
-
double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
|
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};
|
22
|
+
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645};
|
23
|
-
}
|
23
|
+
}
|
24
|
-
printf("\n PC[1]=%7.3f\n", PC[1]);
|
24
|
+
printf("\n PC[1]=%7.3f\n", PC[1]);
|
25
|
-
}
|
25
|
+
}
|
26
|
-
|
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
|
+
ということから、同じ構成にしたのですが、通りませんでした。配列部分はより厳密になっているように感じました。
|
31
|
+
|
1
作成途中に投稿されてしまいましたので、追加致します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
配列を
|
1
|
+
下記2に示しますように、配列をif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。上手く通す方法はありませんでしょうか
|
2
|
-
C++
|
2
|
+
```C++
|
3
3
|
/* **** Pointer print **** */
|
4
4
|
#include <cstdio>
|
5
5
|
#include<cstdlib>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
// ===================================================
|
14
14
|
// 2:一方、このコードでは、識別子"PC"が定義されていない、
|
15
15
|
// または、pointer-to-object型が必要です、とエラー表示されます。
|
16
|
-
// これで、通す方法はありませんでしょうか、
|
16
|
+
// これで実行したいのですが、通す方法はありませんでしょうか、
|
17
17
|
|
18
18
|
int main() {
|
19
19
|
int N = 1;
|
@@ -22,4 +22,5 @@
|
|
22
22
|
double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645};
|
23
23
|
}
|
24
24
|
printf("\n PC[1]=%7.3f\n", PC[1]);
|
25
|
-
}
|
25
|
+
}
|
26
|
+
```
|