CreateDirectoryのコンパイルエラーを回避するには

解決


masat21  2005-06-17 14:09:38  No: 57967  IP: 192.*.*.*

ぶっちゃけ簡単な事かもしれませんが、質問です。
Directory::CreateDirectory("パス名")を入れたところ、
下記に示すコンパイルエラーが表示されました。
ちなみに判定文で使用しているDirectory::Exists("パス名")は、
コンパイルに成功しています。

test.cpp(61) : error C2039: 'CreateDirectoryA' : 'System::IO::Directory' のメンバではありません。
        test.cpp(0) : 'System::IO::Directory' の宣言を確認してください。
test.cpp(61) : error C2660: 'CreateDirectoryA' : 関数に 1 個の引数を指定できません。

対処方法についてご教示願います。

P.S.
.NETは奥が深い!

編集 削除
Blue  2005-06-17 14:21:49  No: 57968  IP: 192.*.*.*

MSDNはみましたか?
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemiodirectoryclasscreatedirectorytopic.asp

一応サンプルのっているようですがどうでしょうか?

編集 削除
masat21  2005-06-17 14:33:57  No: 57969  IP: 192.*.*.*

回答ありがとうございます。
もちろんMSDNを参照しています。

DirectoryInfo::Create();  
でコンパイル成功しました。

Directory::Create("パス名")
のコンパイル失敗の要因については、こちらで再度調査します。

以上

編集 削除
YuO  2005-06-17 15:19:39  No: 57970  IP: 192.*.*.*

windows.hをインクルードしていませんか?

windows.hには,
#ifdef UNICODE
#define CreateDirectory CreateDirectoryW
#else
#define CreateDirectory CreateDirectoryA
#endif
のような記述があります。

windows.hをインクルードしているのであれば,
#undef CreateDirectory
としてやることで,CreateDirectoryがCreateDirectoryAに化けることを防ぐことが出来ます。

編集 削除