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

回答編集履歴

3

g\+\+で通ったけど、gccでは通らなかったので、gccで通るように修正

2017/04/21 13:56

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは。
2
2
 
3
- まず、`struct.tbl[0].hoge1`はまずいはずです。
3
+ まず、`struct.tbl[0].hoge1`はまずいです。
4
4
  structはキーワードなので変数名に使えないですから。
5
5
  しかし、そのままでも`parse error`にはならないので、真の原因は分かりませんでした。
6
6
  提示されていない部分に何か問題があるのかも知れません。
@@ -11,10 +11,10 @@
11
11
  ```C
12
12
  #include <stdio.h>
13
13
 
14
- struct Hoge
14
+ typedef struct
15
15
  {
16
16
  long hoge1;
17
- };
17
+ } Hoge;
18
18
 
19
19
  Hoge tbl[10];
20
20
 

2

微修正

2017/04/21 13:56

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -2,9 +2,10 @@
2
2
 
3
3
  まず、`struct.tbl[0].hoge1`はまずいはずです。
4
4
  structはキーワードなので変数名に使えないですから。
5
- しかし、そこを修正しても`parse error`にはならないので、真の原因は分かりませんでした。
5
+ しかし、そのままでも`parse error`にはならないので、真の原因は分かりませんでした。
6
6
  提示されていない部分に何か問題があるのかも知れません。
7
7
 
8
+ とりあえず修正してみました。
8
9
  MinGW 5.4.0(gcc 5.4.0のWindows用)で下記は通ります。
9
10
 
10
11
  ```C

1

補足

2017/04/21 11:05

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -3,6 +3,7 @@
3
3
  まず、`struct.tbl[0].hoge1`はまずいはずです。
4
4
  structはキーワードなので変数名に使えないですから。
5
5
  しかし、そこを修正しても`parse error`にはならないので、真の原因は分かりませんでした。
6
+ 提示されていない部分に何か問題があるのかも知れません。
6
7
 
7
8
  MinGW 5.4.0(gcc 5.4.0のWindows用)で下記は通ります。
8
9
 
@@ -20,4 +21,4 @@
20
21
  {
21
22
  printf("debug.c Line999 : hoge1 = %p\n", &tbl[0].hoge1);
22
23
  }
23
- ```
24
+ ```