0

使用以下 MCVE:

import std.core;

int main()
{
    __int64 t = time(nullptr);

    return 0;
}

我收到投诉

C:\...\main.cpp(9,1): error C2129: static function '__int64 time(__int64 *const )' declared but not defined

我正在编译调试/Win32。运行时库是/MDd. 我有/std:c++latest/experimental:module设置;命令行选项是

/JMC /experimental:module /permissive- /GS /analyze- /W3 /Zc:wchar_t /I"../../external/fmt-master/include" /ZI /Gm- /Od /Fd"Debug\vc142.pdb" /Zc:inline /fp:precise /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /std:c++latest /FC /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"Debug\modules.pch" /diagnostics:column

std::cout访问、std::stringsrand或时没有问题sin。什么可以告诉 Visual Studio 也找到该time功能?

4

1 回答 1

0

std.core提供 C++ 标准库中的所有其他内容。但是,从 Visual Studio 2019 版本 16.2 开始,Draft C++20 标准模块未在 Microsoft C++ 编译器中完全实现。您可以使用模块功能来创建单分区模块并导入 Microsoft 提供的标准库模块。您可以参考此链接了解更多信息。

此外,您可以查看C++ 中的模块概述,了解如何创建模块。

于 2020-07-27T06:21:10.600 回答