在C++20中不能使用iostream作为模块(Visual Studio)

2022-05-16 00:00:00 c++ c++20
无法在最新版本的MSVC中运行此代码。此代码示例摘自艾弗・霍顿和彼得・范・韦尔特合著的《C++20入门,从新手到专业》一书。

import <iostream>;
int main()
{
    int answer {42};
    std::cout << "The answer to life, universe, and everything is " 
            << answer 
            << std::endl;
    return 0;
}
我收到此错误:找不到‘C:Program Files(X86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.28.29333includeiostream’

‘的头单元

我使用的是Microsoft Visual Studio 16.8.1版,并且已在项目属性中启用了这些标志(根据此处类似的问题Standard way of importing modules):

  • /实验:模块
  • /std:C++最新
  • /EHsc
  • /MD

有人能帮我这个忙吗?我应该用嘎嘎还是GCC?


解决方案

作者在提供下载的示例和解决方案文件中指出,由于 编译器对C++20标准的实现文件可能还不能工作。 (详情请参见book's page和corresponding github repo)。

因此,它们不提供使用";#Include";指令的模块&示例。

HTH。

问候, Glenarvan

相关文章