【问题标题】:Very basic C++ issue (expected expression)?非常基本的 C++ 问题(预期表达式)?
【发布时间】:2018-02-20 02:24:36
【问题描述】:

我刚刚开始使用 C++,我不确定自己在做什么,但到目前为止,我有一些教程中的“hello world”代码。

   #include <iostream> 

//i only put this first line from users telling me to, it wasn't part of the original post. edited..


int main () {
    std::cout << "Hello, World!\n";
    return 0;
}

编译器(Xcode for mac)说在代码的cout 部分之前有一个“意外表达式”。我不知道如何解决这个问题。有人可以帮忙吗?

【问题讨论】:

  • 你是否包含了 iostream ?
  • 你确定你用 C++ 编译而不是 C 模式吗?
  • 你#include 了吗?
  • 是的,我放了#iostream,但它说找不到文件
  • #include 而不是 #iostream

标签: c++


【解决方案1】:

您需要包含声明cout的标头:

#include <iostream>

如果你修复后仍然遇到错误,那么它一定是由"ViewController.h"中的某些东西引起的。

更新: 还要确保编译器将其识别为 C++,方法是确保文件扩展名是 .cc.cxx.cpp 之一(或 .mm 用于 Objective-C++ .)

【讨论】:

  • 我放这个的时候,编译器给我一个bug?
  • @zingzing45 它说了什么?
  • 我应该取出viewcontroller部分吗?
  • @zingzing45:那么编译器是怎么说的呢?它指的是哪条线?是您发布的代码中的问题,还是"ViewController.h"
  • @zingzing45: .m 用于 Objective-C,而不是 C++。将其更改为.cc.cpp.cxx 之一。 (或者.mm,如果你想写Objective-C++。)
【解决方案2】:

正如前面的贡献者所提到的,您需要#include &lt;iostream&gt;,这将为std::cout 提供实现。对于一个简单的 hello world C++ 程序,您不需要 #include "ViewController.h"(不确定它是什么,因为它不是标准包含)。

您为什么不删除#include "ViewController.h",然后发布您看到的错误?我相信这里的人能够帮助你。

【讨论】:

  • 好的,我删除了viewcontroller部分
  • 您遇到的错误是什么?请复制/粘贴编译器的完整错误输出。
  • 到目前为止的代码:#include int main () { std::cout
  • 不幸的是,我不熟悉 XCode 如何设置其包含路径。
  • iostream 是 C++ 功能。不幸的是,我不熟悉 XCode 如何设置其包含路径或决定编译(C、ObjectiveC、C++、ObjectiveC++)。这篇文章可能会给你一些想法。 stackoverflow.com/questions/13857805/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多