エラー C4226を解消するには?

解決


じゅんや  2003-05-23 16:25:06  No: 51467  IP: [192.*.*.*]

[C4226 非標準の拡張機能を使用しています。"far"は互換性のために残されているキーワードです]というエラーが発生しているのですが、解決方法がわかりません。

sqlproto.hというヘッダーファイルをincludeしようとすると出ます。
なぜでしょうか?

編集 削除
YuO  2003-05-23 16:38:49  No: 51468  IP: [192.*.*.*]

Windows 3.1やMS-DOS時代にはfar/near/hugeというものがありました。
#細かいことは8086等の説明を探して下さい。

#pragma warning(disable: 4226)
とやって無視するか,
#define far
としてfar自体を消し去るとよいかと。

編集 削除
じゅんや  2003-05-23 18:19:21  No: 51469  IP: [192.*.*.*]

>#pragma warning(disable: 4226)
>とやって無視するか,

これをどこに書けばいいんですか?

すいません。素人なもので。。

編集 削除
じゅんや  2003-05-23 18:44:24  No: 51470  IP: [192.*.*.*]

C4226については解消できました!
ありがとうございました!

が、さらにwarning:C4047とC4024が発生しております。

warningだから無視してもいいかなと一瞬思ってしまいましたが、
かなり多くこのエラーが出ているのでそうもいかず戸惑ってます。

戻ってしまいますけど、sqlproto.hをincludeしようとそこまでのパスを通せば
C4226エラーが出る(同時にC4047とC4024も出ます)し、パスを通さなければインクルードファイルがオープンできない(当然(笑))し、板ばさみです。

編集 削除
ボロパル  2003-05-23 19:13:12  No: 51471  IP: [192.*.*.*]

お困りのようなので…。

> が、さらにwarning:C4047とC4024が発生しております。

  この情報だけだといまいちはずしてしまいそうな気配が濃厚ですが、とりあえず
VisualStudioのヘルプに「C4047」とか「C4024」とキーワードを入れると、原因が
細かく表示されるので、ご覧になってみてください。

  ちなみに警告の内容からすると、ポインタ周りと、関数に渡す引数周りに原因あ
りそうなので、その辺を考慮して調べられると良いかも?

編集 削除
YuO  2003-05-23 20:08:06  No: 51472  IP: [192.*.*.*]

そもそも,sqlproto.hはWin32用のヘッダファイルですか?
#farなんてのがついている時点で疑問を感じます。

編集 削除
瀬戸っぷ  2003-05-23 23:59:03  No: 51473  IP: [192.*.*.*]

http://n76cd-01p05.ppp11.odn.ad.jp/cgi.cgi?08408

同じ人??

編集 削除
じゅんや  2003-05-26 13:32:41  No: 51474  IP: [192.*.*.*]

ごめんなさい。同じ人です。

編集 削除
じゅんや  2003-05-30 16:59:01  No: 51475  IP: [192.*.*.*]

解決しました。

結論としては、"far"を消して、

#ifdef  __cplusplus
extern "C" {
#endif

として宣言するとできました。

みなさんありがとうございました。

編集 削除