1

cpp で現在のユーザー ドキュメント フォルダーのフォルダーを取得したいので、使用SHGetFolderPathしてインクルードしますShobjidl.h

その結果、コードがコンパイルされず、次の出力が生成されます。

1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\shobjidl.h(8994): error C2143: syntax error : missing ')' before 'constant'
1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\shobjidl.h(8994): error C2143: syntax error : missing ';' before 'constant'
1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\shobjidl.h(8994): error C2059: syntax error : ')'
1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\shobjidl.h(8994): error C2238: unexpected token(s) preceding ';'

これらのエラーの背後にあるコードは次のとおりです。

        virtual HRESULT STDMETHODCALLTYPE GetInt32( 
            /* [in] */ __RPC__in REFPROPERTYKEY key,
            /* [out] */ __RPC__out int *pi) = 0; // <- this line produces compile error

どうしたの?前もって感謝します。

Win 7、VS2010 Express を使用しています。

4

1 に答える 1

3

ドキュメントShlobj.hによると、その関数に含める必要があるヘッダー ファイルは ではありません。これはおそらく内部ヘッダー ファイルであり、直接インクルードすることを意図したものではないと思います。おそらく、その前に既にインクルードされている他のヘッダー ファイルに依存しているため、表示されているエラーが修正されます。Shobjidl.hShobjidl.h

于 2012-12-13T22:13:50.650 に答える