本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[MSVC]「C2371 'HSZ' がすでに宣言されています」のエラーが発生する

文書番号: 401940

最終更新日: 2003/11/11


この資料は以下の製品について記述したものです。


概要

この資料は AppWizard で生成されたソースコードに ddeml.h をインクルードした場合 に HSZ がすでに宣言されていますというエラーが発生する問題について説明したもの です。

詳細

AppWizard で生成したソースコードに ddeml.h をインクルードするように記述して
コンパイルすると「 error C2371: 'HSZ' : すでに宣言されています。」というエラー が発生します。

原因

これは AppWizard で生成されたコードに標準でインクルードされている afxext.h と ddeml.h の両方のヘッダファイルの中で、前者は DECLARE_HANDLE32 マクロで、後者 は typedef BPSTR FAR* で HSZ という型が宣言されているために発生します。

対処方法

この問題は以下の方法で回避することができます。
  1. AFXEXT.H と DDEML.H を同一モジュール内でインクルードしないようにコードを 記述をする。
  2. VBX を使用しないのであれば AFXEXT.H のインクルードの記述の前に NO_VBX_SUPPORT を define する。
  3. どちらかのヘッダを書き換えて HSZ 型の宣言を1つにする。

Keywords: KBBUG VC10 KB401940
Technology: kbAudDeveloper kbVCsearch

inserted by FC2 system