ポインタでのエラー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kame

ポインタでのエラー

#1

投稿記事 by kame » 14年前

OS名:linux?
コンパイラ名:不明
ライブラリ名:不明

telnetでログインしてviで編集している。osはlinuxと聞いていますがバージョンは分かりません。
コンパイラ、ライブラリもまったく分かりません。

以下のようなコードを組んでコンパイルしたところエラーが発生しましたが、
理由がわかりません。どなたかこの件について分かる方はいませんでしょうか。

なお、エラーメッセージをメモっていなかったため、忘れてしまいました。
ちょっとテストできる環境から離れているため、すぐにメッセージが確認できません。

コード:

st.c

struct saTbl {
  int ntype;
  char data1[1500];
  char data2[1500];
};

struct aTbl1 {
  saTbl d;
};
static aTbl1 *paTbl1;

struct aTbl2{
  saTbl d;
};
static aTbl1 *paTbl2;

test.c
#include "st.c"

static const sdatatbl {
  int no;
  int *padr[2];
} datatbl[] = {
  {1, (int *)&paTbl1, (int *)&paTbl2},
  {-1, NULL, NULL}
};

void main()
{
  int n1;

  for (n1 = 0; datatbl[n1].no != -1; ++n1)
  {
    if (datatbl[n1].padr[0] != NULL)   // <-ここでエラー
    {
      /* 処理  */
    }
  }
}

non
記事: 1097
登録日時: 15年前

Re: ポインタでのエラー

#2

投稿記事 by non » 14年前

一番最初には10行目でエラーが出そうですが?
他にも、あっちこっち。
お使いのコンパイラならでないのでしょうか?
non

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ポインタでのエラー

#3

投稿記事 by softya(ソフト屋) » 14年前

勘ですが、Linuxならg++でしょうね。
C++じゃないと通らない書き方がされています。

こちらで、ブラウザさえあればコンパイルできますよ。
「Ideone.com | Online IDE & Debugging Tool >> C/C++, Java, PHP, Python, Perl and 40+ compilers and intepreters」
http://ideone.com/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

kame

Re: ポインタでのエラー

#4

投稿記事 by kame » 14年前

返信ありがとうございます
>一番最初には10行目でエラーが出そうですが?
>他にも、あっちこっち。
>お使いのコンパイラならでないのでしょうか?

コードはそのまま書くことが出来なかったので、ノートに概要だけ書いて写してきたモノです。
特に間違いは無かったようなので、

>勘ですが、Linuxならg++でしょうね。
>C++じゃないと通らない書き方がされています。
こちらの推測通りじゃ無いかと思います。

>こちらで、ブラウザさえあればコンパイルできますよ。
>「Ideone.com | Online IDE & Debugging Tool >> C/C++, Java, PHP, Python, Perl and 40+ compilers and intepreters」
>http://ideone.com/
ちょっとこちらで試してみます。

閉鎖

“C言語何でも質問掲示板” へ戻る