質問編集履歴

1

N==2の場合を追加してコードを組みました。

2022/01/11 07:46

投稿

bldtemporal
bldtemporal

スコア35

title CHANGED
File without changes
body CHANGED
@@ -14,4 +14,25 @@
14
14
  }
15
15
 
16
16
  エラー C4703 初期化されていない可能性のあるローカル ポインター変数 'PC7' が使用されています(本番変数名のPC7はPC相当です)
17
+ ```
18
+ ・ご指摘がありましたように、下記のように、N=2のケースを入れると、上記C4703のエラーとなります。何か対策がありますでしょうか、(コードは実際に合わせてforにしています。)
19
+ ```C++
20
+ /* **** Pointer print **** */
21
+ #include <cstdio>
22
+ #include<cstdlib>
23
+ int main() {
24
+ int i;
25
+ for (i = 0; i < 3; i++) {
26
+ double* PC;
27
+ int N = 1;
28
+ if (N == 1) {
29
+ static double pc[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
30
+ PC = pc;
31
+ }else if(N==2) {
32
+ static double pc[5] = { 1, 0.769, 0.709, 0.671, 0.645 };
33
+ PC = pc;
34
+ }
35
+ if (i = 2) { printf("\n PC[1]=%7.3f, i=%d\n", PC[1],i); }
36
+ }
37
+ }
17
38
  ```