2013-01-10 282 views
12

整数の配列をソートしようとしましたが、std::sortnamespace "std" has no member "sort"というエラーを伴う解決策を見つけました。名前空間 "std"にメンバー "ソート"がありません

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

ヘッダーに 'using namespace'を置かないでください。あなたのヘッダーを含む誰もが、グローバルな名前空間を汚染したくないというわけではありません。 –

+1

さらに悪いことは、過去および将来に含まれるヘッダファイルの種類によって、グローバル名前空間が異なることによって汚染されることです。 – Yakk

答えて

31

追加:std::sort()リファレンスページに記載されているように

#include <algorithm> 

はちょうど私がstd名前空間を使用していない任意の良心の呵責をdisqalifyし、ここに私のヘッダです。

Using std NamespaceWhy is "using namespace std" considered bad practice?、およびusing namespace std;を議論している他の多くの質問を参照してください。

+0

これは私のエラー_namespaceを解決しました。 "std"は、Android NDKのgnustl_staticでコンパイルしようとしているときに、メンバー "sort" _を持っていません。 std :: sortへの参照はXCodeとVisual Studioで動作しますが、NDKではこの答えからインクルードを追加する必要がありました。ありがとう! –

関連する問題