c++ 为什么是“import std;“给一个“找不到模块文件为模块标准”错误?

t98cgbkg  于 2023-08-09  发布在  其他
关注(0)|答案(1)|浏览(296)

我刚刚开始学习C++,所以我可能忽略了一些东西,但我不知道如何让import关键字为我的第一个hello world程序工作。我已经确保我使用的是C20,当我使用#include <iostream>;而不是import std;时,程序工作正常。
这是我的全部代码,从 *A Tour of C
Third Edition* 复制而来:

import std;

int main() {
    std::cout << "helloworld";
}

字符串
我正在使用Visual Studio 2022,编辑器显示两个错误:“could not find module file for module std”under std,and“namespace“std”has no member“cout””under cout .

**已解决:我没有将C++版本设置为最新,这是为了使其工作所必需的。

ufj5ltwl

ufj5ltwl1#

不再需要使用“启用实验C标准库模块”。这指的是C模块TS的较旧实现。
本文将于2023年6月8日发布,介绍如何从命令行启用对import std;import std.compat;的支持:Tutorial: Import the C++ standard library using modules from the command line的数据。
它链接到有关如何在IDE中启用支持的说明:构建ISO C++23标准库模块。
以下是我对IDE方法的总结。我用这个简短的程序进行了测试,它成功地执行了。

// main.cpp
import std;
int main() {
    std::cout << "Hello, world!\n\n";
    return 0;
}

字符串
从Visual Studio 17.6版开始,您可以通过设置两个项目属性在IDE中启用对import std;import std.compat;的支持。
在项目属性中,在“C/C++”下,转到标记为“语言”的页面。在此页上,设置以下两个属性:

C++ 标准

预览-最新C工作草案的功能(/std:clatest)

构建ISO C++23标准库模块

是的,是的
就是这样。顺便说一句,第二个已经设置为“是”在我的安装。你的版本可能也有。

相关问题