CreateDirectory().
以前はSTLとBoostのみを使用していたメソッドを含むC++コードがいくつかありますが、最近、<windows.h>
検索できるように含める必要がありましたCSIDL_LOCAL_APPDATA
。
さて、このコード:
filesystem.CreateDirectory(p->Pathname()); // Actually create it...
コンパイルされなくなりました:
error C2039: 'CreateDirectoryA' : is not a member of ...
これは、次のこのマクロに対応しwinbase.h
ます。
#ifdef UNICODE
#define CreateDirectory CreateDirectoryW
#else
#define CreateDirectory CreateDirectoryA
#endif // !UNICODE
プリプロセッサがメソッド呼び出しを再定義しています。この名前の衝突を回避するための可能な方法はありますか?または、CreateDirectory()
メソッドの名前を変更する必要がありますか?