C++17:undeclared identifier ‘from_chars’エラー修正

心機一転C++17プログラミングの学習を始めようと、このサイトからダウンロードしたコードを実行したところ、初っ端から以下のようなエラーが吐き出された。

error: use of undeclared identifier 'from_chars'

調べてみると、from_charを使うにはcharconvというヘッダーファイルが必要らしい。

ところが、このcharconv.hというヘッダーが全く見つからない。clang6.0とgcc7.3にも含まれていないので、恐らくどこにもないのだろうと思われる。このサイトで以下のコードを実行したところ

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <charconv>
#include <array>
 
int main()
{
    std::array<char, 10> str{"42"};
    int result;
    std::from_chars(str.data(), str.data()+str.size(), result);
    std::cout << result;
}

以下のようなエラーが吐き出された。

main.cpp:2:10: fatal error: charconv: No such file or directory

 #include <charconv>

          ^~~~~~~~~~

compilation terminated.

このヘッダーファイルを説明しているサイトにないのだからどうしょうもない。

このサイトによると、std::from_charは、そもそも使うに値しない代物のようなので、charconvはどうでも良くなってきた。

スポンサーリンク