Visual Studio C++不接受>>或<<超过初始声明

Visual Studio C++ wont accept >> or << past the initial declarations

本文关键字:lt gt 声明 不接受 Studio Visual C++      更新时间:2023-10-16

我在2015年Visual Studio中测试了一些非常简单的事情。由于某种原因,我无法生存,找出为什么这个简单的程序不会在Visual Studio 2015的C 中编译IDE。这是源代码:

#include <iostream>;
#include <cstdlib>;
#include "stdafx.h";
using namespace std;
int main() {
    cout << "Hello world!";
    cout << "nI am a C++ program!";
    cout << "nnWhat is your name? ";
    string name;
    cin >> name;
    cout << "Nice to meet you, " << name;
}

它在http://www.cpp.sh中编译了PERFECTLY,当然减去"stdafx.h"库,因为这仅是Visual Studio。这是我得到的

错误消息:

1> c: users orion documents Visual Studio 2015 Project Project consoleapplication1 consoleapplication1 consoleapplication1 consoleapplication1.cpp(13):错误c2679:biary'&lt;&lt;':没有右手发现的操作员,类型" std :: string"的手操作数(或没有可接受的转换) 1> c: users orion document visual Studio 2015 projects consoleapplication1 consoleapplication1 consoleapplication1 consoleapplication1.cpp(13):注意:尝试匹配参数列表''

有些奇怪的东西,它必须与Visual Studio 2015有关。应用类型是标准控制台应用程序。我看过了,我真的找不到这个答案。

您需要包括<string>标头以使用std::string

您的代码确实在Visual Studio 2015上发出了上述警告:http://rextester.com/yerlqa25808

要使用string您需要#include <string>

进行编译并运行正常时:http://rextester.com/bka25587

标题应为:

#include "stdafx.h"
#include <iostream>
#include <cstdlib>

也需要其他答案指出的<string>stdafx.h导致所有以前的代码被丢弃,因此它必须是源文件的第一行。