Ich versuche, die Funktion to_string(NUMBER)
wochenlang auf meinem Ubuntu-Computer zum Laufen zu bringen, aber sie funktioniert niemals in der QT-Umgebung oder anderswo. Mein Code funktioniert perfekt auf meinem Mac OSX, aber wenn ich ihn unter Ubuntu ausführe, beschwert er sich darüber, dass to_string
ist nicht im Geltungsbereich deklariert. Alle mögliche Lösungen zu diesem würden sehr geschätzt. Ich habe versucht, den GCC-Compiler zu aktualisieren, aber das Problem wurde nicht behoben. Bitte helfen Sie.
Ich verwende QT Creator 4.8.1 und verwende C++ und die neueste Version von Ubuntu.
int Bint::operator*(int temp){
Bint b(to_string(temp));
return ((*this)*b);
}
Ich habe das QMAKE_CXXFLAGS + = -std = c ++ 0x in der Pro-Datei vermisst.
Es kann verschiedene Gründe geben, warum es bei Ihnen nicht funktioniert: Möglicherweise müssen Sie den Namen mit std::
Qualifizieren, oder Sie haben keine C++ 11-Unterstützung.
Dies funktioniert, vorausgesetzt, Sie haben C++ 11-Unterstützung:
#include <string>
int main()
{
std::string s = std::to_string(42);
}
Um die C++ 11-Unterstützung mit g ++ oder clang zu aktivieren, müssen Sie die Option -std=c++0x
Übergeben. Sie können -std=c++11
Auch für die neueren Versionen dieser Compiler verwenden.
sie müssen die Datei mit c ++ 11-Unterstützung kompilieren
g++ -std=c++0x -o test example.cpp
Ich habe dieses Problem behoben, indem ich die erste Zeile in Application.mk von geändert habe
APP_STL := gnustl_static
zu
APP_STL := c++_static
Sie müssen einige Änderungen im Compiler vornehmen. In Dev C++ Compiler: 1. Gehen Sie zu Compilereinstellungen/Compileroptionen. 2. Klicken Sie auf die Registerkarte Allgemein. 3. Aktivieren Sie das Kontrollkästchen (Fügen Sie beim Aufrufen des Compilers die folgenden Befehle hinzu. 4. Schreiben Sie -std = c ++ 11. 5. Klicken Sie auf OK