MS Visual Studio C++:将不使用std命名空间

MS Visual Studio C++:将不使用std命名空间,c++,visual-studio,C++,Visual Studio,我最近刚刚在VisualStudio上开发了一个应用程序,但现在它给了我一个我无法理解的愚蠢问题。我在以前制作的其他应用程序中一直在做这些事情,一切都很好。我现在这样做,它似乎给我带来了问题 我试着启动一个新的应用程序,这就是当我包含I/O流并使用名称空间std时得到的结果 守则: // ConsoleApplication1.cpp : Defines the entry point for the console application. // #include <iostream&g

我最近刚刚在VisualStudio上开发了一个应用程序,但现在它给了我一个我无法理解的愚蠢问题。我在以前制作的其他应用程序中一直在做这些事情,一切都很好。我现在这样做,它似乎给我带来了问题

我试着启动一个新的应用程序,这就是当我包含I/O流并使用名称空间std时得到的结果

守则:

// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include <iostream>
#include "stdafx.h"
using namespace std;

int main()
{
    cout << "Hi" << endl;

    return 0;
}

这个问题很容易解决,只需移动
问题很简单:stackoverflow.com上的所有问题都必须以纯文本形式包含问题本身的所有相关信息。如果你没有足够的精力剪切和粘贴实际代码以及编译错误消息,让每个人都能更容易地阅读你的问题,那么你为什么希望有人费心花时间来理解和帮助你呢?@SamVarshavchik说实话,我觉得这张图片可以更清晰有效地表达我的问题。但无论如何都添加了代码。在重新打开之前,OP应将错误消息复制粘贴为文本而不是图像。将错误添加为文本。替代方法:将include移到stdafx.h中以利用预编译头。这就是stdafx.h的作用。@user4581301这是一个相当糟糕的建议。依赖于其他一些头文件来包含这个特定文件所需的内容会产生非常脆弱的代码。@不管怎样,这就是stdafx.h的用途。它是用于要预编译的头的容器。考虑到询问者计划的规模和范围,这是不是太过分了?是的。询问者关闭预编译头并完全删除stdafx.h是否更好?是的。关于如何做到这一点的说明:如果你不介意我问,你介意解释一下为什么这很重要吗?@user4581301好吧,从技术上讲,我在尝试制作一个不同的应用程序时遇到了问题。我做了一个新的,看看问题是否仍然存在。事实证明确实如此。威尔·霍姆斯:直到现在,我都不想去理解那个文件是什么。
'cout': undeclared identifier
'endl' : undeclared identifier