2013-01-10 23 views
12

Próbując posortować tablicę liczb całkowitych i po jakimś szukaniu google, natknął się na rozwiązanie przy użyciu std::sort z towarzyszącym temu błędem: namespace "std" has no member "sort".Przestrzeń nazw "std" nie ma członka "sort"

Wystarczy disqalify żadnych skrupułów, że nie używam nazw std, tu jest mój nagłówek:

#include "stdafx.h" 
#include <iostream> 
#include <fstream> 
#include <sstream> 
#include <string> 
using namespace std; 
+3

Nigdy nie powinieneś umieszczać 'using namespace' w nagłówku; nie każdy, kto obejmuje twój nagłówek, będzie chciał zanieczyszczać globalną przestrzeń nazw. –

+1

Co gorsza globalna przestrzeń nazw jest zanieczyszczona przez różne rzeczy, w zależności od tego, jakie pliki nagłówkowe zamówień były zawarte w przeszłości i przyszłości. – Yakk

Odpowiedz

31

Dodaj:

#include <algorithm> 

jak podano na stronie std::sort() odniesienia.

Zobacz Using std Namespace, Why is "using namespace std" considered bad practice? i wiele innych pytań na temat omawiania w języku angielskim using namespace std;.

+0

Rozwiązał mój błąd _namespace "std" nie ma członka "sort" _ podczas próby kompilacji z gnustl_static na Android NDK. Odwołanie do std :: sort działa w XCode i Visual Studio, ale w przypadku NDK potrzebowałem dodać element z tej odpowiedzi. Dzięki! –