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

質問編集履歴

2

2022/01/13 02:28

投稿

bldtemporal
bldtemporal

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,26 +1,31 @@
1
- 下記2に示しますように、配列をif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。上手く通す方法はありませんでしょうか
1
+ 配列をいくつかのif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。
2
- ```C++
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

作成途中に投稿されてしまいましたので、追加致します。

2022/01/10 13:10

投稿

bldtemporal
bldtemporal

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
- 配列をいくつかのif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。
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
+ ```