お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2016-03-23 22:50:46

taku_s
メンバ
登録日: 2008-12-14

C++の数値文字列変換

g++で数値を文字列に変換するため
std::string str = std::to_string( 123 );
と書いてみましたが、

error: ‘to_string’ is not a member of ‘std’
とのエラーが出ます。

どうして?

オフライン

 

#2 2016-03-24 08:22:58

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: C++の数値文字列変換

taku_s による投稿:

g++で数値を文字列に変換するため
std::string str = std::to_string( 123 );
と書いてみましたが、

error: ‘to_string’ is not a member of ‘std’
とのエラーが出ます。

どうして?

同様な質問を見つけました。

-std=c++0x オプション を使うか、プログラムの修正が必要なようです。

参照: http://ubuntuforums.org/showthread.php?t=2136597

オフライン

 

#3 2016-03-24 14:23:15

taku_s
メンバ
登録日: 2008-12-14

Re: C++の数値文字列変換

siさま
情報、ありがとうございました。

to_string関数を使う方法で、C++ -v 4.9.2なので
g++ -std=c++14
g++ -std=c++1y
どちらでもコンパイル通りました。

ただ、毎回呪文を書くのは面倒ですね
gcc 5.1になるまで我慢するしかないんでしょうか?

Makefileを書けってことですかね

オフライン

 

#4 2016-03-24 19:12:07

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: C++の数値文字列変換

taku_s による投稿:

gcc 5.1になるまで我慢するしかないんでしょうか?

Ubuntu 16.04 のデイリービルドを使うという手もあります。
( http://cdimage.ubuntu.com/daily-live/current/ )
ちなみに、現在、バージョンは、 gcc 5.3.1 ですね。

オフライン

 

#5 2016-03-24 20:05:58

hito
管理者
登録日: 2007-03-18

Re: C++の数値文字列変換

あきらかにMakefileを書くべきシチュエーションですが、どうしてもイヤであれば、

・aptでgcc-5パッケージを入れる(15.10〜)
・PPAからgcc-5パッケージを入手する(14.04〜)
 https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test

という手があります。

オフライン

 

#6 2016-03-25 07:04:19

taku_s
メンバ
登録日: 2008-12-14

Re: C++の数値文字列変換

siさま hitoさま

またまた、重要な情報ありがとうございました。
もう、5.3なんですね。

Ubuntu 16.04へのアップグレードしてみます。

オフライン

 

#7 2016-03-25 08:34:42

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: C++の数値文字列変換

taku_s による投稿:

siさま hitoさま

またまた、重要な情報ありがとうございました。
もう、5.3なんですね。

Ubuntu 16.04へのアップグレードしてみます。

開発中の 16.04 に関する、アドバイスがありますので、一読を。

https://forums.ubuntulinux.jp/viewtopic.php?id=18260

オフライン

 

Board footer

Powered by FluxBB