C ++:新的空项目(如何创建它,添加main方法并打印“Hello,world”)?

时间:2013-01-12 17:26:12

标签: c++

好吧,我的程序没有执行我想要的程序。 一个项目从头开始。 Visual Studio 2010。

这是我的代码:

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello, world";
    system("pause");
    return 0;
}

为什么程序不打印“Hello,world”?为什么它不对断点作出反应? 我该怎么做才能得到我想要的东西?

  1. 我创建了一个新项目。
  2. 我取消标记预编译标题并标记为空project
  3. 我添加了一个新项目作为cpp文件。
  4. 我输入我的主method。并得到一个错误。 LNK1120:未解决的外部因素。据我在google搜索中可以理解,这意味着编译器看到我使用的是main方法,但不知何故它不知道这个方法是在哪个文件中。
  5. 我单击项目上的右键,添加我刚刚创建的文件。
  6. 我退出VS.然后重新启动它。它开始编译,但结果只是黑屏一闪。
  7. 我添加了一个新的断点。就在模块的中间。该计划根本没有对此做出反应。所以,它结束了。
  8. 稍后补充:

    感谢所有试图提供帮助的人。 冲洗cout你好,世界有效。

    但是!我无法继续。

    请看一下代码。 我用另一段代码替换了“Hello,world”。 但它开始告诉我因为';'。 错误C2059:语法错误:';' 这是编译器的一个奇怪的行为还是我很高兴?

    #include <iostream>
    using namespace std;
    
    void menu()
    {
        do
        {   
            system("cls");
            cout << "Input a point." << endl;
            cout << "id: " << endl;
            cout << "x: " << endl;
            cout << "y: " << endl<<;
            cout << "r: - Return." << endl; 
    
            system("pause");
        } while (true);
    
    }
    
    int main()
    {   
        menu();
        system("pause");
        return 0;
    }
    

3 个答案:

答案 0 :(得分:0)

您不会刷新cout。因此,当您执行system("pause")时,输出只是位于缓冲区中。尝试:

cout << "Hello, world" << endl;

你写道:

  

它开始编译,但结果只是黑屏一闪。

听起来不错。现在尝试从控制台运行程序(因为它是一个控制台程序)。

答案 1 :(得分:0)

某些控制台使用缓冲输出。这意味着在缓冲区已满或写入换行符之前,您看不到任何输出。将\ n附加到字符串或在字符串后添加<< endl

答案 2 :(得分:0)

我很好奇为什么有一个&lt;&lt;在menu()函数的第四个cout语句中的endl之后......可能是错误吗?