トップページ > 過去ログ > 記事閲覧
mmreg.hによるエラー
名前:初心者X 日時: 2008/03/07 15:03

DXライブラリのサンプルデータをいじってた時にエラーが起こってしまい、パソコンをシャットダウンした後からずっとこの様なエラーが起きてしまい困っています。。 1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\mmreg.h(43) : error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。 1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\mmreg.h(43) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません。 mmreg.h自体はいじってないつもりなのですが、エラー文の出てる場所を調べてもさっぱりだったので質問してみました。

Page: 1 |

Re: mmreg.hによるエラー ( No.1 )
名前:キーチック 日時:2008/03/07 15:15

エラーを見ていると,intの前に;がないというのですから,1行前の構文が;で終わっていないと言うことですね. いじったつもりがなくても,間違って;を消してしまった可能性もありますので,チェックしてみてはいかがでしょうか
Re: mmreg.hによるエラー ( No.2 )
名前:初心者X 日時:2008/03/07 16:27

>>キーチックさん 何も変化がないですね・・・ mmreg.hの42-44行目は #ifdef __cplusplus extern "C" { #endif となっておりC言語の関数呼び出しの構文のようなので、intや;を用いるはずは無いらしいんですが・・・ 調べてみてもintや;でのエラー報告は無く、どこが間違っていて修正するべきなのかハッキリと分からない状態ですね。。
Re: mmreg.hによるエラー ( No.3 )
名前: 日時:2008/03/07 17:31

ソースコードを出せるなら、 小出しにせず見せられるところまで 見せた方が良いですよ。 でないと、無駄なやり取りが続きますし あと開発環境は書いてください。 #ついでにCのみかC/C++混在なのかもあるといいかも コンパイラがエラーと言っている部分に必ず それがあるとは限りません。 ヘッダならばその直前に書いてあるコードや ヘッダなどに問題があるとその後のヘッダで エラーになる事もあります。 型情報を書かずに識別子を書くとerror C4430の エラーが起こる可能性があります。 例えば static hoge; Cであれば、intとしてデフォルトが指定されますが、 「C++ は int を既定値としてサポートしていない」 なので、 この場合はリンゲージの問題ではないので、externCは 考慮されない可能性があります。 何れにせよ、情報が少ないのでなんとも:-p)
Re: mmreg.hによるエラー ( No.4 )
名前:初心者X 日時:2008/03/07 17:40

どうも済みません、開発環境は WindowsXP_SP2、Visual Studio 2005のC++で行っています。 ソース自体はこのサイトのサンプルプログラム8にある関数ポインタ基本のプログラムです。 問題のあるヘッダーはmmreg.hで #ifndef _INC_MMREG /* use version number to verify compatibility */ #define _INC_MMREG 158 // version * 100 + revision #if _MSC_VER > 1000 #pragma once #endif #if !defined( RC_INVOKED ) && defined( _MSC_VER ) #if (_MSC_VER <= 800) #pragma pack(1) #else #include "pshpack1.h" /* Assume byte packing throughout */ #endif #endif /* RC_INVOKED */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifndef NOMMIDS /* manufacturer IDs */ #ifndef MM_MICROSOFT #define MM_MICROSOFT 1 /* Microsoft Corporation */ #endif との事だそうです。 もしかすると間違えてサンプルデータ内にあったVC++6で起動したのが誤りだったんでしょうか? 分からない事ばかりで本当に申し訳ないです。
Re: mmreg.hによるエラー ( No.5 )
名前:初心者X 日時:2008/03/07 19:27

どうも済みません。 ヘッダーをよくよく見たら関係のない文字列を入れてたので、消してみたらすっかり直りました。 わざわざご迷惑おかけして済みません。 キーチックさん、通さん わざわざご指摘いただきありがとうございます。 この経験を活かして今後からも自分のデータ内をしっかり見るように心がけます

Page: 1 |