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