【问题标题】:Learning C++20: import <iostream>; error?学习 C++20:import <iostream>;错误?
【发布时间】:2022-07-22 05:10:04
【问题描述】:

我开始学习 C++20,我的第一个可编译语言...

import <iostream>;

int main()
{
    int answer {42};
    std::cout << "The answer is "
            << answer
            << std::endl;
    return 0;

}

当我尝试编译上面的文件时,由于编译器无法识别语句 import &lt;iostream&gt;;,我收到一条错误消息,即使我拥有适用于 Ubuntu 20.04.4 LTS 的最新版本的 GCC 编译器。

【问题讨论】:

  • import 是一个真正的新特性,还没有广泛的编译器支持。你现在不想使用它,再等一两年。现在,使用好的 ol'#include。如果您是从宣传为“初学者”C++ 教程中获得此代码的,那么您需要找到更合理的教程。
  • @TedLyngmo Cppreference 建议 import &lt;iostream&gt;; here,我认为它应该可以工作。
  • @HolyBlackCat 是的,我注意到了,我认为这是一个错误。标准说 “模块单元是包含模块声明的翻译单元。命名模块是具有相同模块名称的模块单元的集合。” 并且iostream.sym 显示没有要求iostream 包含一个模块声明。
  • @TedLyngmo 我发现[headers]/4 建议使用相同的语法。
  • @Anoldmaninthesea。如果您不熟悉该语言,请参阅上面评论中的链接。尽管可能有一些初学者可以使用它们的地方,但在 C++17 和 C++20 中添加的功能在开始时并不一定那么重要。与 C++11 相比,C++14 有一些相对较小但有用的改进,但最重要的是,这本书至少讲授了 C++11,与以前的 C++ 修订版相比,它改变了很多

标签: c++ c++20


【解决方案1】:

C++ 20 被认为是一个新标准(或者可能是最新标准)。因此,大多数编译器并没有完全覆盖 C++ 20 中的所有内容,并且您使用的 GCC 编译器知道import &lt;iostream&gt; 是什么,因为它可能没有更新。你可以做的是查看this 支持 C++ 20 的编译器列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多