0

好吧,我的程序没有执行我想要的。一个从头开始的项目。视觉工作室 2010。

这是我的代码:

#include <iostream>
using namespace std;

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

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

  1. 我创建了一个新项目。
  2. 我取消标记 Precompiled header 并标记 Empty project
  3. 我将一个新项目添加为 cpp 文件。
  4. 我输入我的主要方法。并得到一个错误。LNK1120:未解决的外部问题。据我从谷歌搜索中了解到,这意味着编译器看到我使用了 main 方法,但不知何故它不知道该方法在哪个文件中。
  5. 我在我的项目上单击右键并添加我刚刚创建的文件。
  6. 我退出VS。并再次启动它。它开始编译,但结果只是一闪而过的黑屏。
  7. 我添加了一个新断点。就在模块的中间。该程序根本不会对此做出反应。所以,就这样结束了。

后来补充:

感谢所有试图提供帮助的人。刷新 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;
}
4

3 回答 3

0

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

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

你写:

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

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

于 2013-01-12T17:27:50.747 回答
0

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

于 2013-01-12T17:30:44.390 回答
0

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

于 2013-01-12T18:21:18.550 回答