在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访问局部变量 .