キューを使った簡単な計算機プログラムです。
コンパイルエラーについての質問です。
ソースが長いためとりあえず原因となり得る箇所をピックアップします。
struct queuen{
double data;
struct queuen *next;
};
struct queuen *sp=NULL;
struct list{
struct queuen *head;
struct queuen *tail;
};
struct list *lst;
lst->head = sp;//←ここが問題の21行目です。
lst->tail = sp;
コンパイルすると
c:21:error : parse error before '->' token
となります。
原因が分からないので教えていただけませんか?
queueとlist
Re:queueとlist
lst->head = sp;
lst->tail = sp;
これらの処理は関数外では記述できません。
main関数の上の方に移せば動くんじゃないでしょうか。
lst->tail = sp;
これらの処理は関数外では記述できません。
main関数の上の方に移せば動くんじゃないでしょうか。
Re:queueとlist
>>プログラマーさん
ご指摘ありがとうございます。
ご指摘に従って修正しました(修正したソースを添付しています)ところ、
コンパイルは通ったのですが、実行時において
$ ./a.exe
201 [main] a 11440 _cygtls::handle_exceptions: Error while dumping state
(probably corrupted stack)
Segmentation fault (core dumped)
このようなエラーが出てしまいます。
main()のwhile文に入る前にエラーが出ているため、恐らく
main()内の
lst->head = sp;
lst->tail = sp;
におけるエラーだと思いますが、原因がつかめません。
たびたび申し訳ありませんが教えていただけないでしょうか?
ちなみにwindows vista で cygwinを使っています。
./a.exeによる実行です。
ご指摘ありがとうございます。
ご指摘に従って修正しました(修正したソースを添付しています)ところ、
コンパイルは通ったのですが、実行時において
$ ./a.exe
201 [main] a 11440 _cygtls::handle_exceptions: Error while dumping state
(probably corrupted stack)
Segmentation fault (core dumped)
このようなエラーが出てしまいます。
main()のwhile文に入る前にエラーが出ているため、恐らく
main()内の
lst->head = sp;
lst->tail = sp;
におけるエラーだと思いますが、原因がつかめません。
たびたび申し訳ありませんが教えていただけないでしょうか?
ちなみにwindows vista で cygwinを使っています。
./a.exeによる実行です。