“endl”导致“C1001”错误

时间:2018-01-20 05:46:09

标签: c++ visual-studio

我的代码是一个基本的HelloWorld,但在使用cout<<endl时无法编译。

我正在使用Microsoft visual studio全新下载并为我的第一个测试项目创建了一个控制台应用程序。

    // Test1ConsoleApplication.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <string>
#include <iostream>
//#include <ostream>


using namespace std;


int main()
{
    string s = "hello world!!";
    cout << "lets see: " << s << endl;
    return 0;
}

它会生成

  第1行

“C1001”。

将“endl”替换为“”\ n“”可以正常工作。

3 个答案:

答案 0 :(得分:1)

您不需要预编译的标头#include <stdafx.h>,因此您可以安全地摆脱它。还要摆脱using namespace std;,因为它pollutes the global namespace。尝试这样的事情。它没有理由不起作用。

#include <string>
#include <iostream>

using std::string;
using std::cout;
using std::endl;

int main()
{
    string s = "hello world!!";
    cout << "lets see: " << s << endl;
    return 0;
}

在Visual Studio中,您可以在项目设置中disable use of the precompiled header

答案 1 :(得分:0)

我看不出问题所在。这两个选项都为我编译和执行。 RexTester cppOnline

public class Meeting {

    public static void main(String[] args) {

        ArrayList<Long> dateinmiliis = new ArrayList<>();
        dateinmiliis.add(1512538200000L);
        dateinmiliis.add(1516235400000L);
        dateinmiliis.add(1516318200000L);
        dateinmiliis.add(1516397400000L);
        dateinmiliis.add(1516404600000L);
        dateinmiliis.add(1516498200000L);
        dateinmiliis.add(1516573800000L);
        dateinmiliis.add(1516663800000L);
        ArrayList<String> title = new ArrayList<>();
        title.add("Decemer 6 meeting");
        title.add("18thmeeting");
        title.add("19th meeting");
        title.add("20th first meeting");
        title.add("20 the second meeing");
        title.add("21th meeting");
        title.add("21th second meeting");
        title.add("23rd meeting");

        ArrayList<MeetingModel> listOfmeeting = new ArrayList<>();
        for (int i = 0; i < title.size(); i++) {
            MeetingModel model = new MeetingModel();
            model.setStarttime(dateinmiliis.get(i));
            model.setTitle(title.get(i));
            listOfmeeting.add(model);

        }
        HashMap<Calendar, List<MeetingModel>> mapEvents = new HashMap<>();

    }

    static void setMidnight(Calendar calendar) {
        if (calendar != null) {

            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.MILLISECOND, 0);
        }
    }
}

答案 2 :(得分:0)

所以idk导致错误的原因是在将导入粘贴到&#34; stdafx.h&#34;之后修复了。头文件,然后删除它们......