私はUbuntuコンピューターでto_string(NUMBER)
関数を数週間機能させようとしていますが、QT環境や他の場所では機能しません。私のコードはMacのosxで完全に動作しますが、Ubuntuで実行しようとするとto_string
はスコープ内で宣言されていません。これに対する解決策は大歓迎です。 gccコンパイラーを更新しようとしましたが、問題は修正されませんでした。助けてください。
QT Creator 4.8.1を使用しており、C++とUbuntuの最新バージョンを使用しています。
int Bint::operator*(int temp){
Bint b(to_string(temp));
return ((*this)*b);
}
ProファイルにQMAKE_CXXFLAGS + = -std = c ++ 0xがありませんでした。
うまくいかない理由はいくつかあります:名前をstd::
で修飾する必要があるか、C++ 11がサポートされていない可能性があります。
これは、C++ 11のサポートがあれば機能します。
#include <string>
int main()
{
std::string s = std::to_string(42);
}
G ++またはclangでC++ 11サポートを有効にするには、オプション-std=c++0x
を渡す必要があります。これらのコンパイラの新しいバージョンで-std=c++11
を使用することもできます。
c ++ 11サポートを使用してファイルをコンパイルする必要があります
g++ -std=c++0x -o test example.cpp
Application.mkの最初の行を変更して、この問題を修正しました
APP_STL := gnustl_static
に
APP_STL := c++_static
コンパイラでいくつかの変更を行う必要があります。 Dev C++コンパイラの場合:1.コンパイラ設定/コンパイラオプションに移動します。 2. [全般]タブをクリックします3.チェックボックスをオンにします(コンパイラを呼び出すときに次のコマンドを追加します。4. write -std = c ++ 11 5. [OK]をクリックします