1. ホーム
  2. c++

[解決済み] std::stod は std のメンバではありません [重複] 。

2022-02-12 20:11:18

質問

以下のコードをコンパイルすることができません。

auto test = 42.02;
double right = std::stod(stck.top());

Code::Blocksを使用しており、c++11標準に従うようにビルドオプションを有効にしています。以下の行をコメントに入れると、コンパイラは自動宣言について文句を言わず、コンパイルしてくれます。

文字列のヘッダーを入れました。名前空間は使っていません。

なぜこれがコンパイルできないのか全くわかりません。助けてください! を編集しています。 私のコンパイラはStandard MinGW GCC 4.9です。

簡単のため、-std=c++11 でコンパイルしたものを試してみました。

#include <string>

int main(){
     double pi = std::stod("3.14");
     return 0;
}

以下のようなエラーが発生します。

error: stod is not a member of std.

解決方法は?

std::stod が使えるのは、少なくとも std=c++11 を使用してコンパイルします。したがって、コンパイルするときは、単にフラグ -std=c++11 を使用すれば stod