- - PR -
GetEnvironmentValue() で C3861 "引数依存の照合・・・" エラー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-08 18:08
いつもお世話になっています。
環境:WinXP SP2 開発ツール:.net2003 VC++ ためしに GetEnvironmentValue を実行するプログラムを以下のように作ってみました。 m_strValue.Empty(); //CString形 TCHAR chValue[0xffff]; if( 0 == GetEnvironmentValue( static_cast<LPCTSTR>(m_strEnvironmentName), chValue, 0x0000ffff ) ) { m_strStatus = _T("環境変数の取得に失敗しました"); } else { m_strValue = chValue; m_strStatus = _T("環境変数を取得しました"); } すると、GetEnvironmentValue() で C3861 "引数依存の照合を使用しても見つかりません" とエラーになってしまいます。 引数の型はあっているはずなのに、なぜこのようなエラーになるかわかりません。 どなたか、よろしくお願いします。 |
|
投稿日時: 2007-10-08 20:02
MSDNでC3861のエラーメッセージの意味を検索しました?
GetEnvironmentValue()の引数の型と数は間違っていませんか? |
|
投稿日時: 2007-10-13 23:57
返事がおそくなりましてすみません。
C3861 は引数の数や引数の型が合ってない場合にでるエラーです。 GetEnvironmentValue() については、 DWORD GetEnvironmentVariable( LPCTSTR lpName, LPTSTR lpBuffer, DWORD nSize ); (MSDN より引用) なので大丈夫のはずです。 ちなみに、私のコードでは二番目の引数として TCHAR の配列の先頭ポインタを渡していますが、LPTSTR と同じと言えると思います。 何か至らない点があれば教えてください。 |
|
投稿日時: 2007-10-14 00:43
関数名が微妙に違いますがMSDNのほうが正しいと仮定したとして、
MSDNでは四つの引数になっていますが >GetEnvironmentValue( static_cast<LPCTSTR>(m_strEnvironmentName), chValue, 0x0000ffff ) 引数は三つしかありません。 引数の種類が異なる同じ名前の関数があるんですか? |
|
投稿日時: 2007-10-14 01:24
つーか、ここJavaの会議室ですよ。
別のところで続けた方が、問題も解決しやすいと思いますが。 |
1