crtdbg.h
メモリリークの検出を非常に簡単にする隠された宝石を発見しました。残念ながら、今日 DirectX を自分のプログラムにリンクしたところ、今まで見たことのないエラーが発生しました。
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.h(425): error C2059: syntax error : 'constant'
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.h(425): error C2091: function returns function
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.h(425): error C2802: static member 'operator new' has no formal parameters
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.h(426): error C2059: syntax error : 'constant'
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.h(426): error C2090: function returns array
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.inl(1003): error C2761: 'void *(__cdecl *_D3DXMATRIXA16::operator new(void))(size_t)' : member function redeclaration not allowed
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx10math.inl(1003): fatal error C1903: unable to recover from previous error(s); stopping compilation
crtdbg が新しい演算子をオーバーライドすると、DirectX SDK で何かが壊れているようです (エラーに気付かなかった場合、私は DirectX 11 SDK を使用しています)。このようなものは文書化されていますか?いくつかの検索では結果が得られませんでした。これらのメモリ デバッグ ツールを引き続き使用できることを心から願っています。回避策があれば大歓迎です。