1

此代码不能使用命令 g++ -std=c++17 main.cpp 编译

#include <iostream>
#include <experimental/optional>

int main()
{
    std::optional<int> x;
    std::cout << "Hello World";
    return 0;
}

错误如下:

  1. 错误:“可选”不是“标准”的成员</li>
  2. 错误:“int”之前的预期主表达式</li>

有没有办法让这段代码编译?

4

1 回答 1

8

标题<experimental/optional>没有定义std::optional,而是std::experimental::optional. 要获取std::optionalC++17 标准的(非实验性)部分,您应该只使用#include <optional>.

试试神螺栓。

于 2021-02-13T00:58:39.507 回答