1

ソースコードに次の行があり、エラーが発生しています

エラーC2275:'HPDF_Array':式としてのこのタイプの不正使用 ":これはヘッダーファイルの実際のコードです:

 typedef struct _HPDF_Array_Rec  *HPDF_Array;

typedef struct _HPDF_Array_Rec {
    HPDF_Obj_Header  header;
    HPDF_MMgr        mmgr;
    HPDF_Error       error;
    HPDF_List        list;
} HPDF_Array_Rec;

    HPDF_Array id;

このエラーを解決するにはどうすればよいですか?

4

2 に答える 2

0

このコードは私のコンパイラ (gcc 4.7.1) で動作するため、まだ問題がある場合は、一般的なコードや情報を表示する必要があるかもしれません。

// content of this struct is irrelevant, so I just made a dummy struct
struct _HPDF_Array_Rec {
    int dummy;
};


typedef struct _HPDF_Array_Rec  *HPDF_Array;
HPDF_Array id;

あなたの質問のコードが行うことは、型HPDF_Arrayを型struct _HPDF_Array_Recへのポインターとして定義し、 id と呼ばれる1 つのHPDF_Array (_HDPF_Array_Rec 構造体へのポインター) をインスタンス化することです。


編集:

コードはまだ正常に動作します。エラーコードをグーグルで調べたところ、次のようになりました。

http://msdn.microsoft.com/en-us/library/76c9k4ah(v=vs.71).aspx

An expression uses the -> operator with a typedef identifier.

その種のエラーについてコードを確認してください。id->somethingの代わりにHPDF_Array-> somethingを実行している場所はどこですか? :)

于 2012-09-27T09:00:30.827 に答える
0

ファイルのコンパイル中にエラーが発生した場合はhpdf_pdfa.c、移動します

HPDF_Array id;

行をHPDF_PDFA_GenerateID(HPDF_Doc pdf)関数の先頭に追加します。

2.2.1 ブランチは C++ コードとしてビルドされたようで、コミッターはエラーに気付きませんでした。トランク ブランチでは、このエラーは修正されています。

于 2012-11-25T08:32:56.310 に答える