2013-01-10 17 views
12

Bir dizi Integer'in sırasını dizmeye çalıştıktan sonra ve bazı değişiklikler yaptıktan sonra, bu hatayla karşılaşan std::sort numaralı çözümü kullanarak bu hatayla karşılaştık: namespace "std" has no member "sort".ad alanı "std" öğesinin "türk" anlamı yok

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

Hiçbir zaman bir isim içinde 'namespace 'kullanmamalısınız; başlığınızı içeren herkes, küresel ad alanının kirlenmesini istemez. –

+1

Daha da kötüsü, geçmişte ve gelecekte yer alan sipariş başlığı dosyalarına bağlı olarak global isim alanının farklı şeyler tarafından kirletilmesidir. – Yakk

cevap

31

Ekleme: std::sort() referans sayfasında belirtildiği gibi

#include <algorithm> 

Sadece ben std ad kullanmıyorum herhangi çekinmemek disqalify için, işte başlıktır.

Using std Namespace, Why is "using namespace std" considered bad practice? ve SO ile ilgili diğer birçok soru using namespace std; konusunu ele almaktadır.

+0

Bu hatayı çözdü _namespace "std", Android NDK'de gnustl_static ile derlemeye çalışırken "sort" üyesi yok. Std :: sort referansı, XCode ve Visual Studio'da çalışır, ancak NDK için bu yanıtın içeriklerini eklemem gerekiyordu. Teşekkürler! –