【发布时间】:2020-07-03 21:36:00
【问题描述】:
#include <iostream>
#include <string>
void Log(std::string_view message)
{
std::cout << message << std::endl;
}
int main()
{
const char* text = "Test";
Log(text);
std::cin.get();
}
我收到了这个错误,并且#include <string> 包含在开头。有什么想法吗?
【问题讨论】:
-
无法复制。似乎work 你使用的是什么编译器和标准版本?另外,
#include<string_view>. -
@cigien 我正在使用 ISO C++17 标准 (/std:c++17)。顺便说一句,我添加了
#include<string_view>,现在它可以工作了。非常感谢!但我仍然很好奇为什么它不起作用。在 Cherno 的 youtube 视频中,他的代码在没有添加#include<string_view>的情况下运行。你可以从他的视频中查看。 link -
如果您不包含必要的标头,则不能保证有效。实际上,编译器将包含其他头文件,因此如果包含所需的头文件,它似乎可以工作。请注意,我在评论中所做的链接没有
<string_view>,所以是错误的,但它可以编译。 -
我明白。感谢您的清晰解释:) @cigien
-
重复是另一种情况,但答案是一样的
标签: c++ windows visual-studio-2017 c++17