Visual Studio 2012 には、次の非常にシンプルな C++ プログラムがあります。
#include "stdafx.h"
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
std::cout << std::cout;
int i = 1;
return 0;
}
ご参考までに、「std::cout << std::cout」の部分は、関数のスコープ内で std:cout にアクセスできることを示すためだけのものです。はい、コンソールへのポインターを出力するためのものです。
そこで、「int i = 1」にブレークポイントを設定しました。ブレークポイントがトリガーされたら、コマンド ウィンドウ (またはイミディエイト ウィンドウ) から std::cout を調べたいので、次のように入力します。
>Debug.Print std::cout
ただし、次のエラーが返されます。
識別子「std」は未定義です
なぜこれが起こるのかわかりません.stdは実行されている関数の範囲内にある必要があります. 同じことが #include ディレクティブからの他のものにも当てはまります。Debug.Print を使用して検査することはできません。Visual Studio 2012 で実行スコープでアクセス可能なすべてのものを検査するには、何を使用すればよいですか? Debug.Print でのみローカル変数にアクセスできるようです。