我正在尝试从书中编译一个示例问题。
在我的系统上编译时出现错误,所以我尝试了一个在线编译器并且它工作正常。我将 g++ 更新到版本 9 并再次尝试,但它仍然无法编译。我收到错误'std::string_view' has not been declared。
// Sorting words recursively
#include <iostream>
#include <iomanip>
#include <memory>
#include <string>
#include <string_view>
#include <vector>
using Words = std::vector<std::shared_ptr<std::string>>;
// Function prototypes
void swap(Words& words, size_t first, size_t second);
void sort(Words& words);
void sort(Words& words, size_t start, size_t end);
void extract_words(Words& words, std::string_view text, std::string_view separators);
void show_words(const Words& words);
size_t max_word_length(const Words& words);
Run Code Online (Sandbox Code Playgroud)
第一个错误发生在extract_words原型中,之后所有尝试使用该text参数或任何使用std::string_view,都会导致错误。
Ama*_*eus 11
如cppreference.com 所述,std::string_view仅在 c++17 或更新版本中可用。
要使用它,请在编译器中启用它。对于 g++ 或 clang++,使用开关-std=c++17
| 归档时间: |
|
| 查看次数: |
2328 次 |
| 最近记录: |